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协议,不要对网站进行恶意攻击或过度访问。
