QQ登录

只需一步,快速开始

搜索
查看: 300|回复: 8

[学习笔记] 24 用户代理池构建实战

[复制链接]
最佳答案
17 
累计签到:141 天
连续签到:2 天
发表于 2017-6-24 10:55:12 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

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 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
245 
累计签到:232 天
连续签到:69 天
发表于 2017-6-24 12:52:31 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-9-16 13:57:38 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-9-20 10:47:37 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-9-27 10:57:19 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:89 天
连续签到:1 天
发表于 2017-10-6 19:42:50 | 显示全部楼层
学习了,不错,多谢分享
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:4 天
发表于 2017-10-11 19:07:23 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 

尚未签到

发表于 2017-10-13 10:06:32 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:38 天
连续签到:2 天
发表于 2017-10-13 19:45:47 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-10-22 03:38 Powered by Discuz! X2.5 Theme by dreambred

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