第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制
2017-08-24 14:10
1061 查看
第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制
[b]cookie禁用[/b]
[b]就是在[b]Scrapy的配置文件settings.py里禁用掉[b][b]cookie禁用,可以防止被通过[b][b]cookie禁用识别到是爬虫,注意,只适用于不需要登录的网页,[b][b]cookie禁用后是无法登录的[/b][/b][/b][/b][/b][/b][/b][/b]
settings.py里禁用掉cookie禁用
COOKIES_ENABLED = False 禁用cookie
自动限速
[b]Scrapy默认没有限速的,只要遇到URL就访问,没有间隙[/b]
[b]自动限速(AutoThrottle)扩展[/b]
[b][b][b][b]settings.py里设置[/b][/b][/b][/b]
[b]DOWNLOAD_DELAY = 下载器在下载同一个网站下一个页面前需要等待的时间。该选项可以用来限制爬取速度, 减轻服务器压力。同时也支持小数(单位秒)[/b]
AUTOTHROTTLE_ENABLED = True 开启限速,[b]启用AutoThrottle扩展[/b]
[b][b]自定义spider的settings,也就是为每一个爬虫单独设置配置文件里的值,将覆盖掉[b][b][b][b][b]settings.py里的相同设置[/b][/b][/b][/b][/b][/b][/b]
custom_settings = {键值对} 为每一个爬虫单独设置配置文件里的值,将覆盖掉settings.py里的相同设置,在爬虫文件里设置
举例:
[b]cookie禁用[/b]
[b]就是在[b]Scrapy的配置文件settings.py里禁用掉[b][b]cookie禁用,可以防止被通过[b][b]cookie禁用识别到是爬虫,注意,只适用于不需要登录的网页,[b][b]cookie禁用后是无法登录的[/b][/b][/b][/b][/b][/b][/b][/b]
settings.py里禁用掉cookie禁用
COOKIES_ENABLED = False 禁用cookie
# Disable cookies (enabled by default) COOKIES_ENABLED = False
自动限速
[b]Scrapy默认没有限速的,只要遇到URL就访问,没有间隙[/b]
[b]自动限速(AutoThrottle)扩展[/b]
[b][b][b][b]settings.py里设置[/b][/b][/b][/b]
[b]DOWNLOAD_DELAY = 下载器在下载同一个网站下一个页面前需要等待的时间。该选项可以用来限制爬取速度, 减轻服务器压力。同时也支持小数(单位秒)[/b]
# 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 docs DOWNLOAD_DELAY = 10
AUTOTHROTTLE_ENABLED = True 开启限速,[b]启用AutoThrottle扩展[/b]
# Enable and configure the AutoThrottle extension (disabled by default) # See http://doc.scrapy.org/en/latest/topics/autothrottle.html AUTOTHROTTLE_ENABLED = True
[b][b]自定义spider的settings,也就是为每一个爬虫单独设置配置文件里的值,将覆盖掉[b][b][b][b][b]settings.py里的相同设置[/b][/b][/b][/b][/b][/b][/b]
custom_settings = {键值对} 为每一个爬虫单独设置配置文件里的值,将覆盖掉settings.py里的相同设置,在爬虫文件里设置
举例:
# -*- coding: utf-8 -*- import scrapy from scrapy.http import Request,FormRequest class 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')
相关文章推荐
- 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
- 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图
- 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
- 第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
- 第三百五十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(2)
- python分布式爬虫打造搜索引擎--------scrapy实现
- 第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器
- 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中
- 第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍
- 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
- 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中
- Python分布式爬虫打造搜索引擎Scrapy
- 第三百四十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫数据保存
- 第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、splinter
- 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
- 第三百五十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中