网页文章采集器( 【魔兽世界】UA伪装:让爬虫对应的请求载体身份标识 )
优采云 发布时间: 2022-01-24 00:16网页文章采集器(
【魔兽世界】UA伪装:让爬虫对应的请求载体身份标识
)
import requests
response = requests.get('http://www.baidu.com')
print(response.status_code) # 打印状态码
print(response.url) # 打印请求url
print(response.headers) # 打印头信息
print(response.cookies) # 打印cookie信息
print(response.text) #以文本形式打印网页源码
print(response.content) #以字节流形式打印
requests.get(网址,参数,标头)
url:网址地址
param:相关参数
headers:头信息,例如请求载体的身份
UA : user-Agent 请求载体的身份
UA检测:门户网站的服务器会检测对应请求的运营商ID。如果检测到请求的运营商ID是某个浏览器,则说明该请求是正常请求。但是,如果检测到请求的载体标识不是基于某个浏览器的,则说明是异常请求(爬虫),服务器可能会拒绝该请求。
UA伪装:让爬虫对应的请求载体身份伪装成浏览器
代码示例:
爬取百度页面
# -*- coding:utf-8 -*-
import requests
if __name__ == '__main__':
# UA 伪装:将对应的User-Agent封装到字典中
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'
}
kw = input('input a word:')
url = 'https://www.baidu.com/s?'
param = {'wd': kw}
# 对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数
response = requests.get(url=url, params=param, headers=headers)
page_text = response.text
file_name = kw+'.html'
with open(file_name, 'w', encoding='utf-8') as fp:
fp.write(page_text)
print('保存成功')