您的位置:首页 > 新闻资讯 >文章内容
怎么通过随机UA来突破爬虫?
来源:互联网 作者:admin 时间:2019-11-25 10:48:23

  突破网络爬虫限制的方法有很多,有使用代理IP来换IP的,也有的是验证码限制的。今天,机灵代理要给大家详细介绍的一种方法就是使用随机UA。什么是随机UA呢?我们一起来认识一下怎么操作。

怎么通过随机UA来突破爬虫

  使用随机UA突破爬虫限制:


  UA,即 User-Agent ,使用它可以将我们的爬虫伪装成浏览器,让对方以为是真人在使用浏览器访问,从而骗过目标网站的反爬机制。但是使用固定的 UA 去爬也是会有问题的,你想嘛,假如你发现最近几个小时内来访问的几万个用户,用的都是同一个浏览器,你还会认为对面是真人吗?不封它封谁!


  所以,为了让我们的爬虫更像真人在使用,我们不仅要为它设置 UA,还要使用随机 UA(让对方服务器开心的以为有好多的用户在访问呢)。


  这是 UA 列表,截取了部分,这个在网上随便一找就能找到好多。


  USER_AGENTS = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60', 'Opera/8.0 (Windows NT 5.1; U; en)', 'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0', 'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)', 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36']


  使用的时候,直接使用随机函数 random.choice() 来从列表中选择选择一个。


  使用方法可以参考以下代码:


  user_agent = random.choice(USER_AGENTS)proxy = random.choice(proxyList)url = 'https://blog.csdn.net/wenxuhonghe/article/details/85036674' headers = { "Connection": "keep-alive", "Cache-Control": "max-age=0", "Upgrade-Insecure-Requests": "1", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.9", "Cookie": "" }try: # 构建一个Handler处理器对象,参数是一个字典类型,包括代理类型和代理服务器IP+PROT httpproxy_handler = urllib.request.ProxyHandler({"http": proxy}) opener = urllib.request.build_opener(httpproxy_handler) urllib.request.install_opener(opener) request = urllib.request.Request(url,headers=headers) request.add_header("User-Agent", user_agent) response = urllib.request.urlopen(request) html = response.read() # 解析目标页面,提取相关信息 parse_data(html) time.sleep(1)except Exception as result: print ("错误信息:%s"%(result))


  上面就是通过随机UA来破除爬虫限制的教程啦,大家如果遇到类似的限制,代理IP建议大家可以用这个策略。


相关文章内容简介
推荐阅读
  • 04 2019-10
    网站被封还能访问吗?代理IP告诉你

    爬虫采集经常会面对IP被封、无法爬取等情况,我们除了要有好的程序、爬虫策略之外,还得要有高质量的代理IP。而且有的时候,部分需要爬取的网站竟然也被封了,那么如果还是需要对这个

  • 29 2019-03
    有了IP代理池,高级爬虫就能轻易绕过反爬虫

    反爬虫作为网站的一道防线,自然是防线越严越好,越有难度,爬虫处理起来也没有那么简单。这仅仅是对于普通爬虫来说,如果是高级爬虫,这些常见的反爬虫措施并不见得那么有用的。

  • 30 2019-12
    高质量代理助力爬虫效率!

    高质量代理助力爬虫效率!随着大数据的兴起,每个网站都有自己的庞大的数据信息和每天的更新,个个网站也对自己的网站加强自我保护及信息流失,增加了网站反爬虫机制,在网站加以限制

  • 09 2019-09
    代理IP知识:深度了解反向代理

    互联网+时代,资源变得开放,只要找对方式,我们就能够从网上获取到我们想要的信息。但是信息的获取也是要经过一定步骤的,比如代理IP应用,就是其中一种帮我们安全无忧访问WEB服务的方

  • 29 2019-10
    分布式爬虫如何提取代理IP?

    分布式爬虫提取代理IP用哪一种方式比较好?我们要怎么提取才能够按照自己的需求来合理使用代理IP呢?机灵代理来为大家带来讲解。

  • 29 2020-02
    怎么选择好的代理ip

    虽然现在提供代理ip服务的提供商很多,但是想要选择合适的代理ip,在选择的时候还是要考虑到一些因素。

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部