最近在学习Python的爬虫。以前坚持用nodejs做爬虫。前两天闲得无聊,在慕课上看了下scrapy的课程。然后发现这个框架的设计真模块化。所以就开始动手用scrapy爬取一些东西。
然后我的目标网站是个drupal做的。分页抓取的时候,首页是正常的,爬取第二页的时候,大概率是抛错提示:404,要么就是给我返回了一些脏数据。
这个网站还真是老谋深算啊。然后我仔细分析了下网站的请求头。然后加上了如下两条,请求就正常了:
request.headers['accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
request.headers['cache-control'] = 'no-cache'
看来还是得注意请求头的细节。