鱼C论坛

 找回密码
 立即注册
查看: 3235|回复: 11

[技术交流] 24 用户代理池构建实战

[复制链接]
发表于 2017-6-24 10:55:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 和vvv 于 2017-6-24 11:00 编辑
24 用户代理池构建实战

一、用户代理池概述


我们已经学会如何构架用户代理(头文件更改),那么用户代理池又应该如何构建呢?所谓用户代理池,即将不同的用户代理组建成一个池子,随后随机调用。换句话说,我们就是随机使用不同的浏览器访问网站。因为我们更改的就是代表浏览器表示的头文件。

二、用户代理池构建实战


(1)代理池构建
  1. #用户代理可以在百度上找,复制过来就行。但要找能用的。
  2. uapools = [
  3.     "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0",
  4.     "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon/3.0)",
  5.     "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;  QIHU 360EE)",
  6. ]
复制代码
(2)定义一个函数,从代理池内随机选择一个用户代理
  1. #从代理池内随机选择一个用户代理。需导入random模块
  2. def ua(uapools):
  3.     thisua = random.choice(uapools)
  4.     print(thisua)
  5.     headers = ("User-Agent",thisua)
  6.     opener = urllib.request.build_opener()
  7.     opener.addheaders = [headers]
  8.     urllib.request.install_opener(opener)
复制代码
(3)使用用户代理池爬取糗事百科
游客,如果您要查看本帖隐藏内容请回复

结果:
  1. Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon/3.0)
  2. 中午老师打电话来说儿子鞋坏了,不能穿了,我赶紧买了一双新的送去幼儿园<br/>进教室的时候我茫然了,一堆穿着一样校服的小萝卜头谁是我儿子???<br/>我看着这些孩子:这个不是,那个也不是,………<br/>彻底蒙圈的我忍不住大声:儿子,出来!<br/>身旁一双小手轻轻的扯我衣角:妈妈,你不认识我了?我在这里好久了!
  3. ----------------
  4. 记得好多年前刚开始玩QQ,不知道很多英文缩写什么意思,记得一个女性网友的男朋友(后来才知道)给我发来SB,当时不明白什么意思,思虑良久开始回复,这个回复至今都让自己佩服:这是你的英文名缩写吗?

  5. .........


  6. Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0
  7. 中午老师打电话来说儿子鞋坏了,不能穿了,我赶紧买了一双新的送去幼儿园<br/>进教室的时候我茫然了,一堆穿着一样校服的小萝卜头谁是我儿子???<br/>我看着这些孩子:这个不是,那个也不是,………<br/>彻底蒙圈的我忍不住大声:儿子,出来!<br/>身旁一双小手轻轻的扯我衣角:妈妈,你不认识我了?我在这里好久了!
  8. ----------------
  9. 记得好多年前刚开始玩QQ,不知道很多英文缩写什么意思,记得一个女性网友的男朋友(后来才知道)给我发来SB,当时不明白什么意思,思虑良久开始回复,这个回复至今都让自己佩服:这是你的英文名缩写吗?
复制代码


可以发现,每次都是随机调用用户代理进行爬取,这就对爬虫进行了较好地伪装。对方想要屏蔽爬虫,也不会那么地容易。
用户代理池里的用户代理越多越好,越多的话,并且在能用的情况下,越能伪装自己。



评分

参与人数 2荣誉 +1 鱼币 +6 收起 理由
purplenight + 1 + 1 支持楼主!
小甲鱼 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-24 12:52:31 | 显示全部楼层
看看~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-16 13:57:38 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-20 10:47:37 | 显示全部楼层
学习学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-27 10:57:19 | 显示全部楼层
感谢老铁分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-6 19:42:50 | 显示全部楼层
学习了,不错,多谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-11 19:07:23 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-13 10:06:32 | 显示全部楼层
dingding
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-13 19:45:47 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-10 13:07:55 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-24 23:30:50 | 显示全部楼层
来学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-5 08:50:05 From FishC Mobile | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 01:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表