9 UA池构建(代码简单,结果超全)

前几天无意中发现一个网站,里面罗列了各种User-Agent,哇!真的是特别多,我开心的不得了,然后今天决定把它们都爬下来,以后大批量爬虫有UA池!

9 UA池构建(代码简单,结果超全)_第1张图片

选择BROWSERS

9 UA池构建(代码简单,结果超全)_第2张图片

废话不多说,附上代码

 1 # -*- coding: utf-8 -*-
 2 
 3 import requests
 4 from lxml import etree
 5 
 6 url = 'http://useragentstring.com/pages/useragentstring.php?typ=Browser'
 7 
 8 header = {
 9         'User-Agent': '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',
10     }
11 
12 response = requests.get(url,headers=header,timeout=60
13                         )
14 
15 tree = etree.HTML(response.text)
16 ua_list = tree.xpath('//div[@id="liste"]/ul/li/a/text()')
17 
18 for ua in ua_list:
19     print(ua,len(ua))
20 
21 print(len(ua_list))

结果,我获得了9529条User-Agent

9 UA池构建(代码简单,结果超全)_第3张图片

 

 这应该是史上最强UA池了吧!

 

 

也可以通过函数生成ua,直接调用 headers = {'User-Agent': self.get_ua()}

    def get_ua(self):
        '''随机生成User-Agent用户代理'''
        first_num = random.randint(55, 76)
        third_num = random.randint(0, 3800)
        fourth_num = random.randint(0, 140)
        os_type = [
            '(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)', '(X11; Linux x86_64)',
            '(Macintosh; Intel Mac OS X 10_14_5)'
        ]
        chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num, fourth_num)

        ua = ' '.join(['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36',
                       '(KHTML, like Gecko)', chrome_version, 'Safari/537.36']
                      )
        return ua

Mozilla/5.0:网景公司浏览器的标识,由于互联网初期浏览器市场主要被网景公司占领,很多服务器被设置成仅响应含有标志为Mozilla的浏览器的请求,因此,新款的浏览器为了打入市场,不得不加上这个字段。
Windows NT 6.3 : Windows 8.1的标识符
WOW64: 32位的Windows系统运行在64位的处理器上
AppleWebKit/537.36:苹果公司开发的呈现引擎
KHTML:是Linux平台中Konqueror浏览器的呈现引擎KHTML
Geckeo:呈现引擎
like Gecko:表示其行为与Gecko浏览器引擎类似

你可能感兴趣的:(9 UA池构建(代码简单,结果超全))