关于scrapy爬虫框架的一些实用设置

原来写的一些爬虫相对简单粗暴,爬取的数据量也不大;如果需要爬取的数据量较大,爬取网站时间较长,就需要一些配置来伪装我们的爬虫了。

忽略robots协议

有时候爬取不到网站数据,有可能是网站robots协议禁止爬虫访问了,比如淘宝网,这就需要爬虫忽略robots协议。在settings.py内添加如下代码:

ROBOTSTXT_OBEY = False

设置爬取每条数据时间

长时间爬取网站时,如果不设置爬虫爬取速度,很容易被服务器识别并误认为我们是在恶意进行网络攻击。在settings.py内添加如下代码:

DOWNLOAD_DELAY = 2

具体参数可根据不同网站自行调试,一般设置1~3秒

设置浏览器用户代理

简单的设置,直接在Request请求函数内添加headers参数:

header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0'}

Request(response.url, headers=self.header,callback=self.next, dont_filter=True)

如果长时间爬取大量数据,这样只用一个请求头肯定是不行的,需要随机调用不同的请求头。先在settings.py内添加请求头数组:

MY_USER_AGENT = [
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
    "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
    "
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值