欢迎访问宙启技术站
智能推送

Python爬虫中如何设置多种不同的UserAgent

发布时间:2023-12-27 04:49:24

在Python爬虫中,可以通过设置请求头的User-Agent字段来模拟不同的浏览器进行访问。不同的User-Agent可以用于避免被网站的反爬虫机制识别出来,以及获取不同网站的不同内容。

下面是一个使用Python爬虫设置多种不同的User-Agent的例子:

import requests
from fake_useragent import UserAgent

# 初始化一个UserAgent对象
ua = UserAgent()

# 设置请求头
headers = {
    'User-Agent': ua.random
}

# 发送请求
response = requests.get('http://www.example.com', headers=headers)
print(response.text)

以上代码中使用了第三方库fake_useragent来生成随机的User-Agent,并设置到请求头中。

另外,如果需要使用多种不同的User-Agent,可以通过保存多个User-Agent字符串的列表,然后在请求时随机选择一个User-Agent:

import random

# 多个User-Agent列表
user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.3',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.3',
]

# 随机选择一个User-Agent
user_agent = random.choice(user_agents)

# 设置请求头
headers = {
    'User-Agent': user_agent
}

# 发送请求
response = requests.get('http://www.example.com', headers=headers)
print(response.text)

使用多种不同的User-Agent可以增加爬虫的隐蔽性,提高爬取数据的成功率。但请注意,爬虫仍然需要遵守网站的Robots协议,不要对网站进行恶意攻击或过度访问。