Python-封装自己的UA池

本文介绍了如何利用fake_useragent库下载所有UA,并将其封装成个人工具库,以供后续项目使用。首先安装库,然后下载数据,接着将数据保存到Python文件并封装方法,最后展示了如何使用封装后的库。
摘要由CSDN通过智能技术生成

1、先通过库获取到所有的UA

2、自己将获取到的UA保存下来

3、封装成自己的工具库,供以后使用

一、使用fake_useragent库将所有的UA下载下来

关于fake_useragent库的使用,请移步:Python-fake_useragent库的简单使用

1. 安装fake_useragent库

'''
1. 安装
	pip install fake_useragent
2. 导包
	from fake_useragent import UserAgent
'''

2. 下载数据

import json
from fake_useragent import UserAgent

# 声明集合,保存UA
User_Agent_Set = set()

# 因为 fake_useragent库 获取UA的方式是随机的
# 所以,我们扩大获取UA的次数,尽可能的获取到所有的UA,然后将其添加到集合中自动去重
for i in range(100000):
    # 随机获取UA
    ua= UserAgent().random
    # 将获取到的UA添加到集合中
    User_Agent_Set.add(ua)

# 将集合转换为列表
User_Agent_List = list(User_Agent_Set)

# 查看获取到的UA数:经过多次测试,最多能获取到的UA数为250
print(len(User_Agent_List))

# 将UA保存到文件中
with open('ua.json', 'w') as f:
    json.dump(User_Agent_List, f)

二、将下载好的数据封装成自己的工具库

  • 新建一个python文件
  • 将下载好的json数据复制到自己新建的python文件中
  • 封装方法,以便随机获取UA
  • 下面的代码仅列出部分UA,文章末尾会列出我获取到的全部UA
from random import choice

'''
    随机获取UA
'''
def getRandomUA():
    User_Agent_List = [
        "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) Gecko/20130328 Firefox/22.0",
        "Opera/9.80 (Windows NT 6.1; U; fi) Presto/2.7.62 Version/11.00",
        "Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36",
        "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8)",
        "Mozilla/5.0 (Windows; U; Windows NT 6.1; fr-FR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
    ]
    return choice(User_Agent_List)

三、使用自己封装的工具库

import urllib.request

import KSTools # 这是我的工具库

url = 'https://www.bilibili.com'
headers = {
   
    'User-Agent': KSTools.getRandomUA() # 这里就调用了自己的工具库的方法来随机获取UA
}
request = urllib.request.Request(url=url, headers=headers)

response = urllib.request.urlopen(request)
con = response.read().decode('utf-8')

print(con)

四、附录:全部UA

'''
    随机获取UA的方法,可以直接复制到代码中调用
'''
def getRandomUA():
    User_Agent_List = [
        "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:22.0) Gecko/20130328 Firefox/22.0",
        "Opera/9.80 (Windows NT 6.1; U; fi) Presto/2.7.62 Version/11.00",
        "Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36",
        "Opera/9.80 (Windows NT 5.1; U; cs) Presto/2.7.62 Version/11.01",
        "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; ko-kr) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27",
        "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36",
        "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; it-it) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27",
        "Mozilla/5.0 (Windows; U; Windows NT 6.0; hu-HU) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4",
        "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8)",
        "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0",
        "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",
        "Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20130331 Firefox/21.0",
        "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; da-dk) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1",
        "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36",
        "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20130401 Firefox/21.0",
        "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.9.168 Version/11.51",
        "Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.2; Trident/6.0)",
        "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 7.0; InfoPath.3; .NET CLR 3.1.40767; Trident/6.0; en-IN)",
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值