博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制...
阅读量:6410 次
发布时间:2019-06-23

本文共 1809 字,大约阅读时间需要 6 分钟。

第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制

 

cookie禁用

就是在Scrapy的配置文件settings.py里禁用掉cookie禁用,可以防止被通过cookie禁用识别到是爬虫,注意,只适用于不需要登录的网页,cookie禁用后是无法登录的

settings.py里禁用掉cookie禁用

COOKIES_ENABLED = False 禁用cookie

# Disable cookies (enabled by default)COOKIES_ENABLED = False

 

自动限速

Scrapy默认没有限速的,只要遇到URL就访问,没有间隙

自动限速(AutoThrottle)扩展

settings.py里设置

DOWNLOAD_DELAY = 下载器在下载同一个网站下一个页面前需要等待的时间。该选项可以用来限制爬取速度, 减轻服务器压力。同时也支持小数(单位秒)

# Configure a delay for requests for the same website (default: 0)# See http://scrapy.readthedocs.org/en/latest/topics/settings.html#download-delay# See also autothrottle settings and docsDOWNLOAD_DELAY = 10

AUTOTHROTTLE_ENABLED = True  开启限速,启用AutoThrottle扩展

# Enable and configure the AutoThrottle extension (disabled by default)# See http://doc.scrapy.org/en/latest/topics/autothrottle.htmlAUTOTHROTTLE_ENABLED = True

 

 

自定义spider的settings,也就是为每一个爬虫单独设置配置文件里的值,将覆盖掉settings.py里的相同设置

custom_settings = {键值对} 为每一个爬虫单独设置配置文件里的值,将覆盖掉settings.py里的相同设置,在爬虫文件里设置

举例:

# -*- coding: utf-8 -*-import scrapyfrom scrapy.http import Request,FormRequestclass PachSpider(scrapy.Spider):                            #定义爬虫类,必须继承scrapy.Spider    name = 'pach'                                           #设置爬虫名称    allowed_domains = ['www.kuaidaili.com']                 #爬取域名    custom_settings = {        "COOKIES_ENABLED": True                             #覆盖掉settings.py里的相同设置,开启COOKIES    }    def start_requests(self):    #起始url函数,会替换start_urls        """第一次请求一下登录页面,设置开启cookie使其得到cookie,设置回调函数"""        return [Request(            url='http://www.kuaidaili.com/free/inha/2/',            meta={
'cookiejar':1}, #开启Cookies记录,将Cookies传给回调函数 callback=self.parse )] def parse(self, response): title = response.xpath('//*[@id="list"]/table/tbody/tr')

 

转载地址:http://oizra.baihongyu.com/

你可能感兴趣的文章
【webpack4】基本配置和入门api
查看>>
Mac使用ssh公钥登录Linux
查看>>
【366天】跃迁之路——程序员高效学习方法论探索系列(实验阶段124-2018.02.06)...
查看>>
POJ3070-Fibonacci(矩阵快速幂)
查看>>
[vue插件]基于vue2.x的电商图片放大镜插件
查看>>
标准的组件结构
查看>>
vue——一个页面实现音乐播放器
查看>>
NET Core-学习笔记(二)
查看>>
职业生涯上的点点滴滴
查看>>
一起来将vscode变成私人定制笔记本
查看>>
Flutter 云音乐
查看>>
RecyclerView实现多type页面
查看>>
个人的web商城网站
查看>>
debian fcitx
查看>>
排中律与实无穷问题的性质分析
查看>>
08/23 学习总结
查看>>
物理层
查看>>
linux多网卡路由设置
查看>>
八大监听器
查看>>
self.navigationController退出到指定页面,或者一次性pop出n个页面
查看>>