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


    • 为什么要建立用户代理池?
      • 如果我们用浏览器伪装,仅用一个浏览器标识,如果对方服务器的反爬手段高,我们这一个一直访问很容易被抓到,这时候我们可以建一个用户代理池,随机进行访问,增加我们的成功率
    • 话不多说上代码
      • 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
      • 如果每隔两次换一个用户代理
        •    
  • 相关阅读:
    SSM博客
    做完了第一个
    day08
    day07
    day06
    解决Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory报错
    《响应式网页设计》系列分享专栏
    《Linux命令学习手册》系列分享专栏
    详解Docker 端口映射与容器互联
    centos7安装gitlab
  • 原文地址:https://www.cnblogs.com/u-damowang1/p/12724572.html
Copyright © 2020-2023  润新知