scrapy用到的一些配置问题

从settings开始

scrapy默认只处理200-300的状态码,当有特殊状态码出现的时候就需要自己将要处理的状态码添加进去,然后判断response.status

HTTPERROR_ALLOWED_CODES = [403]
有些网站会检测出scrapy的cookie值,因此要禁用cookie,注意这个禁用的只是scrapy自己的cookie而不是设置的

COOKIES_ENABLED = False
有些重定向挺烦人

REDIRECT_ENABLED = False

超时等待时间过长,会影响爬虫速度,可以根据实际情况调整超时时间以及是否重试

DOWNLOAD_TIMEOUT=300
RETRY_ENABLED   是否开启重试
RETRY_TIMES     重试次数
RETRY_HTTP_CODECS     对哪些状态码进行重试,默认是500,502,503,504,408

电脑cpu配置比较好的可以修改并发数量

CONCURRENT_REQUESTS = 32

设置爬虫暂停、恢复的状态保存

JOBDIR=filename

配置请求头的三个位置

 spider中发送请求的时候,优先级最高

middleware中利用requests.headers.setdefault()循环便利便利一个字典设置的优先级次之

在settings中DEFAULT_REQUEST_HEADERS={}设置的优先级最低

运行爬虫时可以进行的操作

CLOSESPIDER_TIMEOUT(秒)、CLOSESPIDER_ITEMCOUNTCLOSESPIDER_PAGECOUNTCLOSESPIDER_ERRORCOUNT分别代表在指定时间过后、在抓取了指定数目的Item之后、在收到了指定数目的响应之后、在发生了指定数目的错误之后就终止爬虫程序

 scrapy crawl fast-s CLOSESPIDER_TIMEOUT=10

设置这个爬虫项目运行10s停止

scrapy crawl somespider -s JOBDIR=crawls/somespider-1
这个也可以让爬虫实现暂停和恢复,使用ctrl+c暂停,恢复仍然使用这句话





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值