UA池和IP代理池使用
UA池:User-Agent池
- 作用:尽可能多的将scrapy工程中的请求伪装成不同类型的浏览器身份。
- 操作流程:
1.在下载中间件中拦截请求
2.将拦截到的请求的请求头信息中的UA进行篡改伪装
3.在配置文件中开启下载中间件
代码展示
#导包 from scrapy.contrib.downloadermiddleware.useragent import UserAgentMiddleware import random #UA池代码的编写(单独给UA池封装一个下载中间件的一个类) class RandomUserAgent(UserAgentMiddleware):def process_request(self, request, spider):#从列表中随机抽选出一个ua值ua = random.choice(user_agent_list)#ua值进行当前拦截到请求的ua的写入操作request.headers.setdefault('User-Agent',ua)user_agent_list = ["Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 ""(KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1","Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 ""(KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 ""(KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 ""(KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 ""(KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 ""(KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5","Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 ""(KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 ""(KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 ""(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 ""(KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ]
UA池
代理池
- 作用:尽可能多的将scrapy工程中的请求的IP设置成不同的。
- 操作流程:
1.在下载中间件中拦截请求
2.将拦截到的请求的IP修改成某一代理IP
3.在配置文件中开启下载中间件
代码展示:
class Proxy(object):def process_request(self, request, spider):#对拦截到请求的url进行判断(协议头到底是http还是https)#request.url返回值:http://www.xxx.comh = request.url.split(':')[0] #请求的协议头if h == 'https':ip = random.choice(PROXY_https)request.meta['proxy'] = 'https://'+ipelse:ip = random.choice(PROXY_http)request.meta['proxy'] = 'http://' + ip#可被选用的代理IP PROXY_http = ['153.180.102.104:80','195.208.131.189:56055', ] PROXY_https = ['120.83.49.90:9000','95.189.112.214:35508', ]
ip池
转载于:https://www.cnblogs.com/awfj/p/11114322.html
UA池和IP代理池使用相关推荐
- 爬虫学习笔记(十)—— Scrapy框架(五):下载中间件、用户/IP代理池、settings文件
一.下载中间件 下载中间件是一个用来hooks进Scrapy的request/response处理过程的框架. 它是一个轻量级的底层系统,用来全局修改scrapy的request和response. ...
- python爬虫ip代理池_爬虫教程-Python3网络爬虫开发——IP代理池的维护
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 准备工作 要实现IP代理池我们首先需要成功安装好了 Redis 数据库并启动服务,另外还需要安装 Aiohttp.Requests.RedisPy.PyQ ...
- Scrapy ip代理池
一.概述 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑.在一段时间内禁止访问. 应对的方法有两种: 1. 降低爬 ...
- Python搭建自己[IP代理池]
IP代理是什么: ip就是访问网页数据服务器位置信息,每一个主机或者网络都有一个自己IP信息 为什么要使用代理ip: 因为在向互联网发送请求中,网页端会识别客户端是真实用户还是爬虫程序,在今天以互联网 ...
- 如何制作一个自己的IP代理池
开始前的准备 注:在开始完成这个项目之前,需要懂一些简单的爬虫知识和tkinter的界面相关知识,不过这些相关的内容,博主也会通过链接的方式,在其他文章内对其进行详细描述,手把手教你完成一个IP代理池 ...
- [Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(四) —— 应对反爬技术(选取 User-Agent、添加 IP代理池以及Cookies池 )
上一篇:[Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(三) -- 数据的持久化--使用MongoDB存储爬取的数据 最近项目有些忙,很多需求紧急上线,所以一直没能完善< 使用 ...
- Python爬虫——建立IP代理池
在使用Python爬虫时,经常遇见具有反爬机制的网站.我们可以通过伪装headers来爬取,但是网站还是可以获取你的ip,从而禁掉你的ip来阻止爬取信息. 在request方法中,我们可以通过prox ...
- 同时使用IP代理池和用户代理池(做笔记)
感觉自己写得很复杂 还是自己太low了 更新了ip格式 #Python3.6 不需要加http:// proxy_pool = {'http': '127.0.0.1:8080','https': ' ...
- Python之反爬虫手段(User-Agent,Cookie,Referer,time.sleep(),IP代理池)
现在的爬虫越来越难,各大网站为了预防不间断的网络爬虫,都相应地做出了不同的反爬机制,那么如何能够在不被封IP的情况,尽可能多得爬取数据呢?这里主要介绍到一些通用的反爬措施,虽然不一定适合所有网站,但是 ...
最新文章
- LDA-math-神奇的Gamma函数
- 06一键直达:一键整理、秒搜、秒开任何文件、软件、网址
- SQL Server遍历表的几种方法
- 使用移动自适应布局+easy mock实现移动界面的简单实现
- OSChina 周六乱弹 —— 这个版本的小红帽听说过吗?
- HG20615法兰数据注意事项
- python 百度搜索结果_Python洗涤百度搜索结果
- 布线规划要点-开始设计前必须考虑的几个问题
- DevOps 和敏捷开发的区别是什么?
- 力扣题目算法分类【持续更新】
- 创建美区苹果账户ID
- 按照特定名字批量创建文件夹
- 《Monkey Android》第15课Spinner和AutoCompleteTextView
- 全球与中国前置式翻斗车市场深度研究分析报告
- qq 微信 服务器繁忙请稍后重试,微信支付提示 系统繁忙请稍后重试?
- iOS 获取手机IP 地址
- 产品概念之3/4:五层次理论 —— 消费者体验视角的产品概念
- 饼图指北(Pie Chart)
- 国外十几种国外撸美金项目适合小白们
- JDO学习笔记之Sun JDO参考实现篇
热门文章
- 海纳百川、有容乃大:从4个角度解读京东3C新方向
- 设置函数环境——setfenv(转)
- Linux命令Find实例
- 【cocos2d-x从c++到js】06:Google的继承写法解析
- SQLDump***.txt
- linux配置gprs modem
- 【源码系列】Eureka源码分析
- admin.0001_initial is applied before its dependency users.0001_initial on database 'default
- ubuntu突然连不上-调试方式
- python面试题_17道Python面试题,分享给你以防不测!