悠悠楠杉
网站页面
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36'DOWNLOAD_DELAY = 2
AUTOTHROTTLE_ENABLED = Trueimport pymysql
class MysqlPipeline:
def __init__(self):
self.conn = pymysql.connect(host='localhost', user='root',
password='123456', database='spider')
def process_item(self, item, spider):
sql = "INSERT INTO articles(title,content) VALUES(%s,%s)"
self.conn.cursor().execute(sql, (item['title'], item['content']))
self.conn.commit()
return item现代网站普遍采用反爬措施,Scrapy提供多种应对方案:
- 使用RotateUserAgentMiddleware随机更换UA
- 通过ProxyMiddleware配置代理IP池
- 启用CookiesMiddleware处理登录状态
- 使用SeleniumMiddleware应对动态渲染页面
执行爬虫时使用如下命令可保存结果到JSON文件:
scrapy crawl example -o result.json掌握Scrapy框架后,你会发现原来需要半天编写的爬虫,现在只需1小时就能完成。其内置的统计数据功能还能直观显示抓取成功率、耗时等关键指标,这对企业级应用尤为重要。建议从简单网站开始练习,逐步挑战更复杂的抓取场景,最终你也能开发出每天处理百万级数据的专业爬虫系统。