UA指的是User-Agent,这是一个请求头信息,是请求载体的身份标识。
门户网址的服务器会检测对应请求载体身份标识。
如果检测到请求的载体身份标识为某一款浏览器,意味这当前的用户请求是一个通过浏览器发起的正常的请求。说明是一个正常的请求(用户通过浏览器发出的请求)。
但是,如果检测到的请求的载体身份标识不是基于某一款浏览器的,则表示该请求为一个不正常的请求(是一个爬虫请求)。则服务器端很有可能拒绝该次请求。
为了让我们的请求每次都成功,我们要进行UA伪装。
让爬虫对应的请求载体身份标识伪装成某一款浏览器。
方法:将对应的User-Agent封装到一个字典中。
需求:
简易网页采集器。通过输入一个关键词,来爬取搜狗浏览器该关键词的页面信息,同时使用UA伪装来伪装自己的载体身份。
代码实现:
import requests
if __name__ == '__main__':
url = 'https://www.sogou.com/web'
# UA伪装:将User-Agent封装到一个字典中
# 可以是任意的浏览器头信息
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400'
}
# 处理url携带的参数:封装到字典中
kw = input('请输入要查找用户的名字信息:(如Water_Coder)')
param = {
'query':kw
}
# 对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
# headers是当前发起载体的身份标识
# 当前爬取信息的不再是一个爬虫程序,而是伪装成了一个浏览器
response = requests.get(url=url,params=param,headers=header)
page_text = response.text
# 打印爬取到的信息
print(page_text)
print('信息爬取成功!!!')