python爬虫基础实战,如何在每次爬取数据时候使用不同的user-agent?

最近在学习爬虫时候学习到了对User-Agent的时候,但是好像每次只能设置一个User-Agent,所以在学习的时候就在想能不能够在每次运行程序的时候都使用不同的User-Agent呢?当然是可以的,在折腾一翻之后终于找到了方法(仅供菜鸟学习使用,高手可以绕道)。

话不多说,直接上代码:

from urllib import request
import random
import sys
import io
#设置CMD字符串
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
url=r'http://www.baidu.com/'
#设置需要随机使用的User-Agent
useragents=[
    r'Mozilla/5.0 (Linux; U; Android 4.4.2; zh-cn; PE-TL20 Build/HuaweiPE-TL20) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.3 Mobile Safari/537.36',

    r'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4',

    r'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
]
headers={
    #使用随机函数随机生成一个User-Agent
    'User-Agent':random.choice(useragents)
}
req=request.Request(url,headers=headers)
response=request.urlopen(req).read().decode()
print(response)

其实主要的核心就是使用到了random.choice()这个方法,这样我们每次运行的时候都会随机选择一个我们设定好的User-Agent了。

你可能感兴趣的:(python爬虫基础实战,如何在每次爬取数据时候使用不同的user-agent?)