scrapy(三)
来源:互联网 发布:ubuntu卸载搜狗输入法 编辑:程序博客网 时间:2024/05/21 04:44
反爬措施
三个策略方向
- 判明用户身份
- User-Agent
- Cookies
- Refer
- 验证码(常用:打码平台)
- 分析用户行为
- 并发识别
- 在线活动时间
- 页面添加一些正常浏览器浏览访问不到资源
- 动态加载数据
- ajax技术
反反爬与下载器中间件
常见反反爬措施
- 模拟用户头
- 设置位置
- settings文件
- 创建请求时
- 下载器中间件
- 设置位置
- 请求延迟
- settings文件中设置 DOWNLOAD_DELAY = n
- 一般测试目标站点阈值后设置
- Cookies检测
- settings文件中 COOKIES_ENABLED = False
- Ip代理池
- 适用范围:不需登录或部分需要登录站点
- 代理来源:
- 国内:付费/采集免费代理
- 自建
- 云主机支持多ip
- ADSL拨号服务器
- Crawlera:scrapy自有(速度慢,不建议使用)
- 使用代理:在下载器中间件中使用代理 - 动态数据加载
- 在中间件中使用 selenium
- 注:使用selenium后高性能消失;有些站点能识别 phantomjs浏览器,需使用带界面浏览器
下载器中间件
- 功能:全局修改Scrapy request和Response
- 使用:
- 编写处理方法:
- 处理请求:process_request
- 功能:加用户头、加代理、调用 selenium获取动态加载数据
- 处理响应:process_response(self,request,response,spider)
- 处理请求:process_request
- 编写处理方法:
- 开启中间件
- settings文件中配置中间件参数
常用settings文件设置
log信息
- LOG_ENABLE:是否开启log
- LOG_ENCODING:编码格式
- LOG_FILE:log文件路径
- LOG_LEVEL:
- CRITICAL - 严重错误(critical)
- ERROR - 一般错误(regular errors)
- WARNING - 警告信息(warning messages)
- INFO - 一般信息(informational messages)
- DEBUG - 调试信息(debugging messages)
其他:
- CONCURRENT_REQUESTS:下载器并发数量设置,默认16
- DEPTH_LIMIT:爬取深度
- DOWNLOAD_TIMEOUT:下载超时
- CONCURRENT_ITEMS :item管道同时处理item数量
- CONCURRENT_REQUESTS_PER_DOMAIN:域名的并发请求
- CONCURRENT_REQUESTS_PER_IP:ip的并发请求数量
- 反爬措施
- 三个策略方向
- 反反爬与下载器中间件
- 常见反反爬措施
- 下载器中间件
- 常用settings文件设置
- log信息
- 其他
- 反爬措施
阅读全文
0 0
- scrapy(三)
- Scrapy学习笔记(三)
- Python scrapy基础教程(三)
- scrapy(三)
- 【python】【scrapy】使用方法概要(三)
- 【scrapy】使用方法概要(三)(转)
- Scrapy 核心架构 流程 (三)
- 框架的使用(三):scrapy
- python学习笔记三(scrapy)
- scrapy学习(三) crawlspider源码解析
- 爬虫实践(三)--了解scrapy
- scrapy 之三
- 三.scrapy配置参数
- Scrapy研究探索(三)——Scrapy核心架构与代码运行分析
- Scrapy研究探索(三)——Scrapy核心架构与代码运行分析
- Scrapy框架学习(三)----基于Scrapy框架实现的简单爬虫案例
- Scrapy爬虫(三):scrapy架构及原理
- Scrapy源码分析-常用的爬虫类-CrawlSpider(三)
- 缓存失效策略(fifo lru lfu)
- 字符串逆序的几种方式
- Python包管理工具——Pip
- 2017暑假第二阶段第二场 总结
- [C++模板技术] TypeList(2)
- scrapy(三)
- Java知识(时间和日期处理)
- 机器学习 基础 数学知识之线性代数
- HIVE SQL执行计划深度解析
- u3d scene在打包时默认不保存
- HDU-6165 FFF at Valentine
- Spring Cloud入门教程(五):API服务网关(Zuul) 上
- Integer.getInteger()是逗比
- [noip2013]转圈游戏