鱼C论坛

 找回密码
 立即注册
查看: 2572|回复: 1

[技术交流] 28 同时使用用户代理池与IP代理池的方法

[复制链接]
发表于 2017-6-25 19:58:37 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 和vvv 于 2017-6-25 20:00 编辑
28 同时使用用户代理池与IP代理池的方法

前面已经了解了用户代理池和IP代理池的构建和使用。现在,我们要将它们联合起来使用。其达到的目的相当于用别人的电脑IP和浏览器爬取网页,对我方形成了很好的伪装。


直接上代码:
  1. import random
  2. import urllib.request
  3. import re

  4. #IP代理池:其中的代理IP请给据实际情况修改。
  5. def ip():
  6.     ippools = [
  7.     "122.226.168.180",
  8.     "61.191.41.130",
  9.     "115.231.175.68",
  10.     ]
  11.     thisip = random.choice(ippools)
  12.     print(thisip)
  13.     proxy = urllib.request.ProxyHandler({"http":thisip})
  14.     opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
  15.     urllib.request.install_opener(opener)

  16. #用户代理:其中的User-Agent尽量越多越好(但都必须是可用的)
  17. def ua():
  18.     uapools = [
  19.     "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",
  20.     "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)",
  21.     "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)",
  22.     ]
  23.     thisua = random.choice(uapools)
  24.     print(thisua)
  25.     headers = ("User-Agent",thisua)
  26.     opener = urllib.request.build_opener()
  27.     opener.addheaders = [headers]
  28.     urllib.request.install_opener(opener)
  29.    
  30. #利用代理IP爬网站
  31. for i in range(0,30):
  32.     try:
  33.         #调用IP代理
  34.         ip()
  35.         #调用用户代理
  36.         ua()
  37.         data = urllib.request.urlopen("http://www.baidu.com").read().decode("utf-8")
  38.         #提取标题
  39.         pat ='<title>(.*?)</title>'
  40.         rst = re.compile(pat).findall(data)
  41.         print(rst[0])
  42.     except Exception as err:
  43.         print(err)
复制代码
由于此刻IP还好用,所以结果还可以。
  1. 61.191.41.130
  2. 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)
  3. 百度一下,你就知道
  4. 122.226.168.180
  5. 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
  6. 百度一下,你就知道
  7. 122.226.168.180
  8. 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
  9. 百度一下,你就知道
  10. 122.226.168.180
  11. 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)
  12. 百度一下,你就知道
  13. 61.191.41.130
  14. 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)
  15. 百度一下,你就知道
  16. 115.231.175.68
  17. 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)
  18. 百度一下,你就知道
  19. 115.231.175.68
  20. 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)
  21. 百度一下,你就知道
  22. 115.231.175.68
  23. 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)
  24. 百度一下,你就知道
  25. 122.226.168.180
  26. 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)
  27. 百度一下,你就知道
  28. 115.231.175.68
  29. 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)
  30. 百度一下,你就知道
  31. 122.226.168.180
  32. 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)
  33. 百度一下,你就知道
  34. 115.231.175.68
  35. 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)
  36. 百度一下,你就知道
  37. 115.231.175.68
  38. 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)
  39. 百度一下,你就知道
  40. 122.226.168.180
  41. 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)
  42. 百度一下,你就知道
  43. 61.191.41.130
  44. 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)
  45. 百度一下,你就知道
  46. 61.191.41.130
  47. 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
  48. 百度一下,你就知道
  49. 122.226.168.180
  50. 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)
  51. 百度一下,你就知道
  52. 122.226.168.180
  53. 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
  54. 百度一下,你就知道
  55. 122.226.168.180
  56. 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)
  57. 百度一下,你就知道
  58. 122.226.168.180
  59. 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)
  60. 百度一下,你就知道
  61. 115.231.175.68
  62. 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
  63. 百度一下,你就知道
  64. 61.191.41.130
  65. 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
  66. 百度一下,你就知道
  67. 61.191.41.130
  68. 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)
  69. 百度一下,你就知道
  70. 61.191.41.130
  71. 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)
  72. 百度一下,你就知道
  73. 115.231.175.68
  74. 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)
复制代码

如果要将爬虫运用在实际工作中,用户代理和IP代理应该是必不可缺的。


如果大家觉得还可以的话,可以到我的淘专辑(http://bbs.fishc.com/forum.php?mod=collection&action=view&ctid=742&fromop=my)看看或者评评分。

评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2017-10-17 11:24:55 | 显示全部楼层
提一个小疑问,install_opener两次的话,会把之前的那个opener覆盖么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 15:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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