python3_fake_User-Agent_创建UA伪装

UA格式:

User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions>

create_UserAgent

随机创建一个UserAgent,避免大量爬取时服务器拒绝

导入

from fake_UserAgent import random_UserAgent

使用方法

伪装成chrome浏览器

response = requests.get(url=url, headers=random_UserAgent())

伪装成Edge浏览器

response = requests.get(url=url, headers=random_UserAgent(edge=True))

返回的内容举例

直接返回一个字典

{'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
{'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.60 Safari/537.36 Edg/103.0.1264.49'}

出现错误

如果请求出现错误,请自行修改第64行的 ‘User-Agent’: f’{user_agent}’ 为 ‘user-agent’: f’{user_agent}’ 后,再做尝试

63     header = {
64     'User-Agent': f'{user_agent}'
65 }

可能会持续更新 更新链接: https://github.com/GuoKeLiDeHuanXiang2022/create_UserAgent

程序实现

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# @Author       : GuoKeLiDeHuanXiang2022
# @Edition      : python3.10
# @Software     : PyCharm
# @Time         : 2022/8/4 17:58
# @File         : fake_UserAgent.py
"""
随机产生一个User-Agent
UA格式:
User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions>
"""

from random import choice

# 系统版本
system_information_list = ['(Windows NT 10.0; Win64; x64)',
                           '(Windows NT 6.3; Win64; x64)',
                           '(Windows NT 6.2; Win64; x64)',
                           '(Windows NT 6.1; Win64; x64)']

# 浏览器内核版本
chrome_list = ['96.0.4664.93',
               '96.0.4664.45',
               '95.0.4638.69',
               '95.0.4638.54',
               '94.0.4606.81',
               '94.0.4606.71',
               '94.0.4606.61',
               '94.0.4606.54',
               '93.0.4577.82',
               '93.0.4577.63',
               '91.0.4472.77',
               '88.0.4324.11',
               '87.0.4280.63',
               '87.0.4280.60',
               '87.0.4280.47',
               '86.0.4240.198',
               '86.0.4240.193',
               '86.0.4240.183',
               '86.0.4240.111',
               '86.0.4240.75',
               '85.0.4183.121',
               '85.0.4183.83',
               '84.0.4147.135']

edg_list = ['Edg/91.0.864.41',
            'Edg/103.0.1264.49',
            'Edg/104.0.1293.47']


def random_UserAgent(edge=False):  # 随机产生一个U-A 输出
    """
    :param edge: 默认:False True:伪装成edge浏览器 False:伪装成chrome浏览器
    :return: header: 请求头字典
    """
    system_information = choice(system_information_list)
    chrome = choice(chrome_list)
    if not edge:  # 不需要edge标  默认无edge标
        user_agent = 'Mozilla/5.0 ' \
                     f'{system_information} ' \
                     'AppleWebKit/537.36 ' \
                     '(KHTML, like Gecko) ' \
                     f'Chrome/{chrome} ' \
                     'Safari/537.36'
    else:  # 需要edge标
        edg = choice(edg_list)
        user_agent = 'Mozilla/5.0 ' \
                     f'{system_information} ' \
                     'AppleWebKit/537.36 ' \
                     '(KHTML, like Gecko) ' \
                     f'Chrome/{chrome} ' \
                     'Safari/537.36 ' \
                     f'{edg}'
    header = {
        'User-Agent': f'{user_agent}'
    }
    return header


if __name__ == '__main__':
    print(random_UserAgent())
    print(random_UserAgent(edge=True))
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值