Scrapy

实现一个功能很简单的爬虫:目标类似论坛,抓取第一个目录页-》提取所有页面-》找出下一个目录页地址-》提取下一目录页的所有页面;

问题描述

运行的时候发现一个问题,抓取的数量不对。例如第一个目录页有15条,第二个目录页有20条,那么最终应该抓取到35条,但是实际发现最终抓取到的条目是随机的……
试着分开抓,第一次只抓第一个目录页,返回了15条没错;第二次只抓第二个目录页,返回了20条没错;一起抓的时候,返回结果依然随机,25-35之间都有可能。

原因

找了半天发现代码没什么问题,由于之前将log_level设为了“warning”,因此也没有给出什么提示。将其改为默认,发现问题了。
在抓取具体条目时,返回了很多503错误,而scrapy会对每个503错误尝试3次,如果依然出错就直接扔掉这个页面。看了一下scrapy最后的stats,发现503有19个之多……
按此推理,应该是访问太频繁被服务器拒了!

解决办法

首先想的是限制并发数量,在settings.py里修改,加上:

CONCURRENT_REQUESTS = 1

后边的数值是并发限制,发现只有修改为1的时候才能完全不会出错,即使是2都有条目丢失的问题……

阅读更多
个人分类: Scrapy
想对作者说点什么? 我来说一句

scrapy-1.4.pdf

2017年11月22日 1.15MB 下载

scrapy下载图片

2017年12月21日 9KB 下载

Scrapy例子-hr网站

2018年05月10日 121KB 下载

Learning Scrapy 中文版

2018年02月04日 2.97MB 下载

Scrapy爬虫框架视频

2018年01月06日 111.21MB 下载

scrapy4document

2018年04月25日 1.51MB 下载

Scrapy ImagesPipeline下载图片

2017年12月20日 10KB 下载

scrapy爬虫项目爬取腾讯,斗鱼

2018年01月29日 65.73MB 下载

scrapy最新中文文档

2018年05月13日 1.93MB 下载

Python爬虫框架Scrapy

2014年12月15日 1.81MB 下载

没有更多推荐了,返回首页

不良信息举报

Scrapy

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭