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代理池使用相关推荐

  1. 爬虫学习笔记(十)—— Scrapy框架(五):下载中间件、用户/IP代理池、settings文件

    一.下载中间件 下载中间件是一个用来hooks进Scrapy的request/response处理过程的框架. 它是一个轻量级的底层系统,用来全局修改scrapy的request和response. ...

  2. python爬虫ip代理池_爬虫教程-Python3网络爬虫开发——IP代理池的维护

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 准备工作 要实现IP代理池我们首先需要成功安装好了 Redis 数据库并启动服务,另外还需要安装 Aiohttp.Requests.RedisPy.PyQ ...

  3. Scrapy ip代理池

    一.概述 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑.在一段时间内禁止访问. 应对的方法有两种: 1. 降低爬 ...

  4. Python搭建自己[IP代理池]

    IP代理是什么: ip就是访问网页数据服务器位置信息,每一个主机或者网络都有一个自己IP信息 为什么要使用代理ip: 因为在向互联网发送请求中,网页端会识别客户端是真实用户还是爬虫程序,在今天以互联网 ...

  5. 如何制作一个自己的IP代理池

    开始前的准备 注:在开始完成这个项目之前,需要懂一些简单的爬虫知识和tkinter的界面相关知识,不过这些相关的内容,博主也会通过链接的方式,在其他文章内对其进行详细描述,手把手教你完成一个IP代理池 ...

  6. [Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(四) —— 应对反爬技术(选取 User-Agent、添加 IP代理池以及Cookies池 )

    上一篇:[Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(三) -- 数据的持久化--使用MongoDB存储爬取的数据 最近项目有些忙,很多需求紧急上线,所以一直没能完善< 使用 ...

  7. Python爬虫——建立IP代理池

    在使用Python爬虫时,经常遇见具有反爬机制的网站.我们可以通过伪装headers来爬取,但是网站还是可以获取你的ip,从而禁掉你的ip来阻止爬取信息. 在request方法中,我们可以通过prox ...

  8. 同时使用IP代理池和用户代理池(做笔记)

    感觉自己写得很复杂 还是自己太low了 更新了ip格式 #Python3.6 不需要加http:// proxy_pool = {'http': '127.0.0.1:8080','https': ' ...

  9. Python之反爬虫手段(User-Agent,Cookie,Referer,time.sleep(),IP代理池)

    现在的爬虫越来越难,各大网站为了预防不间断的网络爬虫,都相应地做出了不同的反爬机制,那么如何能够在不被封IP的情况,尽可能多得爬取数据呢?这里主要介绍到一些通用的反爬措施,虽然不一定适合所有网站,但是 ...

最新文章

  1. LDA-math-神奇的Gamma函数
  2. 06一键直达:一键整理、秒搜、秒开任何文件、软件、网址
  3. SQL Server遍历表的几种方法
  4. 使用移动自适应布局+easy mock实现移动界面的简单实现
  5. OSChina 周六乱弹 —— 这个版本的小红帽听说过吗?
  6. HG20615法兰数据注意事项
  7. python 百度搜索结果_Python洗涤百度搜索结果
  8. 布线规划要点-开始设计前必须考虑的几个问题
  9. DevOps 和敏捷开发的区别是什么?
  10. 力扣题目算法分类【持续更新】
  11. 创建美区苹果账户ID
  12. 按照特定名字批量创建文件夹
  13. 《Monkey Android》第15课Spinner和AutoCompleteTextView
  14. 全球与中国前置式翻斗车市场深度研究分析报告
  15. qq 微信 服务器繁忙请稍后重试,微信支付提示 系统繁忙请稍后重试?
  16. iOS 获取手机IP 地址
  17. 产品概念之3/4:五层次理论 —— 消费者体验视角的产品概念
  18. 饼图指北(Pie Chart)
  19. 国外十几种国外撸美金项目适合小白们
  20. JDO学习笔记之Sun JDO参考实现篇

热门文章

  1. 海纳百川、有容乃大:从4个角度解读京东3C新方向
  2. 设置函数环境——setfenv(转)
  3. Linux命令Find实例
  4. 【cocos2d-x从c++到js】06:Google的继承写法解析
  5. SQLDump***.txt
  6. linux配置gprs modem
  7. 【源码系列】Eureka源码分析
  8. admin.0001_initial is applied before its dependency users.0001_initial on database 'default
  9. ubuntu突然连不上-调试方式
  10. python面试题_17道Python面试题,分享给你以防不测!