码迷,mamicode.com
首页 > Web开发 > 详细

使用Urllib(3)--用户代理池

时间:2020-04-18 11:45:29      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:mamicode   from   bsp   pool   decode   win   http   增加   imp   

  • 为什么要建立用户代理池?
    • 如果我们用浏览器伪装,仅用一个浏览器标识,如果对方服务器的反爬手段高,我们这一个一直访问很容易被抓到,这时候我们可以建一个用户代理池,随机进行访问,增加我们的成功率
  • 话不多说上代码
    • import urllib.request
      import random
      from my_fake_useragent import UserAgent
      ua = UserAgent()
      #用户代理池
      print(type(list((ua.random()))))
      # uapools = list(ua.random())
      # uapools = [
      #     "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",
      #     "Avant Browser/1.2.789rel1 (http://www.avantbrowser.com)",
      #     "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5",
      # ]
      def UA():
          ua = UserAgent()
          opener = urllib.request.build_opener()
          # thisua = random.choice(uapools)
          thisua = ua.random()
          ua = ("User-Agent",thisua)
          opener.addheaders = [ua]
          urllib.request.install_opener(opener)
          print("当前使用UA"+ str(thisua))
      for i in range(0,10):
          # #如果每2次换一次用户代理
          # if i %2 == 0:
          UA()
          url = "https://www.qiushibaike.com/"
          data = urllib.request.urlopen(url).read().decode("utf-8","ignore")
          print(len(data))

       

    • 这里的用户代理池可以直接放入ua,我不喜欢用这个,python 中给我们提供了一个模块my_fake_useragent可以直接拿到ua
    • 技术图片

    • 如果每隔两次换一个用户代理
      •  技术图片  

使用Urllib(3)--用户代理池

标签:mamicode   from   bsp   pool   decode   win   http   增加   imp   

原文地址:https://www.cnblogs.com/u-damowang1/p/12724572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!