python 获取随机User-Agent的请求头(headers)的代码(需要直接复制用就可以了)...

不客气

'''
获取随机User-Agent的请求头
'''
import random

#用户代理User-Agent列表
USER_AGENTS = [
    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3; rv:11.0) like Gecko", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1", "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1", "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11", "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", "MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", "Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10", "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13", "Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+", "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0", "Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124", "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)", "UCWEB7.0.2.37/28/999", "NOKIA5700/ UCWEB7.0.2.37/28/999", "Openwave/ UCWEB7.0.2.37/28/999", "Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999", # iPhone 6: "Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25", ] #随机获取一个用户代理User-Agent的请求头 def get_request_headers(): headers = { 'User-Agent':random.choice(USER_AGENTS), 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'Accept-language':'zh-CN,zh;q=0.9', 'Accept-Encoding':'gzip, deflate,br', 'Connection':'keep-alive', } return headers if __name__ == '__main__': #测试随机与否 print(get_request_headers()) print("----------"*20) print(get_request_headers())

输出结果如下(成功):

{'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'Accept-language': 'zh-CN,zh;q=0.9', 'Accept-Encoding': 'gzip, deflate,br', 'Connection': 'keep-alive'} ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ {'User-Agent': 'Openwave/ UCWEB7.0.2.37/28/999', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'Accept-language': 'zh-CN,zh;q=0.9', 'Accept-Encoding': 'gzip, deflate,br', 'Connection': 'keep-alive'}

转载于:https://www.cnblogs.com/rrh4869/p/11167245.html

### 回答1: 在Python爬虫中,可以通过伪装User-Agent来隐藏爬虫的真实身份,避免被网站封禁。User-Agent是HTTP请求头的一部分,用于描述客户端的类型、操作系统、浏览器等信息。一些网站会根据User-Agent来识别客户端的真实身份,所以我们可以通过修改User-Agent来达到伪装的目的。 在Python中,可以使用第三方库如Requests、urllib等来发送HTTP请求,并通过设置headers参数来伪装User-Agent。具体来说,我们可以在headers中设置User-Agent字段,例如: ``` import requests url = 'http://example.com' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' } response = requests.get(url, headers=headers) ``` 在上述代码中,我们设置了User-Agent为Chrome浏览器的信息,这样就可以伪装成浏览器发送HTTP请求,而不是Python爬虫发送的请求。当然,为了避免被网站封禁,我们需要经常更新User-Agent,同时也要注意不要过于频繁地发送请求,以免被识别为爬虫。 ### 回答2: Python爬虫伪装User-Agent指的是开发者在编写Python代码的过程中,将User-Agent设置为浏览器端的User-Agent,从而避免服务器端针对爬虫进行封禁或者限制访问。 User-Agent是HTTP请求的头部信息之一,用于告知服务器客户端正在使用的浏览器和操作系统的情况。由于爬虫使用的请求头往往与常规浏览器的请求头不同,因此服务器可能会对其进行限制、封禁甚至是先后回应。 为了避免这种情况,我们可以在代码中设置一个随机User-AgentPython中有许多第三方库提供了User-Agent,比如fake_useragent、user_agents等。这些库可以生成一个随机User-Agent,让服务器无法将其与爬虫识别出来。 另外,我们也可以手动编写每个请求的User-Agent,使其更加随机和多变。在编写代码时,我们可以将User-Agent列表存储到文件中,然后在每次请求时随机选择一个User-Agent,使得每个请求使用的User-Agent都不相同。 需要注意的是,虽然伪装User-Agent可以一定程度上避免被服务器封禁,但过于频繁的访问依然可能被服务器识别为爬虫行为。因此,建议在爬虫程序中加入适当的延时和限制访问次数的机制,以避免被反爬虫机制限制。 ### 回答3: 为了更好地伪装自己的爬虫程序,我们需要理解什么是 User-AgentUser-Agent 是一种 HTTP 请求头信息,用于描述用户代理的一些信息,包括操作系统、浏览器类型、版本等等。在爬虫请求时,服务器通过 User-Agent 来判断请求是否来自浏览器。因此,如果我们的爬虫请求头中不带 User-Agent 或者 User-Agent 显然是一个机器人,那爬虫很可能会被服务器封禁。 通过 Python 爬虫伪装 User-Agent 的方法有很多种,以下是一些常用的方法: - 使用 fake-useragent:fake-useragent 是一个第三方库,可以自动生成随机 User-Agent,使用方法非常简单。 - 使用 requests 库自定义 headers:这种方法的灵活度比较高,可以自定义 User-Agent,还可以添加其他自定义信息。 - 使用 random.choice() 函数随机选择 User-Agents:可以通过准备好多个 User-Agent 列表,然后随机选择一个 User-Agent。 参考下面代码: ``` import requests import random # 使用fake_useragent库来设置User-Agent from fake_useragent import UserAgent # 使用random.choice随机选择User-Agent UserAgents = [ "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; rv:54.0) Gecko/20100101 Firefox/54.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36", ] # 设置随机User-Agent headers = { 'User-Agent': random.choice(UserAgents) } # 或使用fake-useragent库来生成User-Agent headers = { 'User-Agent': UserAgent().random } # 执行请求 response = requests.get(url, headers=headers) ``` 总之,为了避免被服务器封禁,我们需要用一些方法伪装自己的 User-Agent,使其看起来更像是来自浏览器的请求。当然,我们也需要注意不要伪装得过于真实,否则过多的请求可能会对目标网站造成负面影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值