爬虫学习笔记num3
基于笔记二中的get发送请求,之前没有考虑UA伪装,本次将get请求中的params参数和headers参数进行赋值。
对于URL携带的参数要封装到字典中。
import requests
#处理url中携带的参数要封装到字典中
url = "www.xxx.com"
kw = input("enter a word:")
param = {'query': kw}
# 对指定url发起请求对应的url是携带参数,并且请求过程中处理了参数
response = requests.get(url = url,params=param)
page_text = response.text
filename = kw + '.html'
with open(filename,'w',encoding = 'utf-8') as fp:
fp.write(page_text)
get请求中params参数是直接拼接到url地址后面的
如:
url= 'www.xxx.com/'
param = {'port':200}
#拼接的地址就为www.xxx.com/port=200
get(url = url ,params = param)
UA伪装属于一种反爬机制
UA检测:门户网站服务器会检测对应的请求载体的身份标识,如检测到请求是浏览器,说明该请求是正常请求。如果检测请求不是基于浏览器的请求则说明是不正常的请求,就要进行拦截。所以让爬虫对应 的请求载体标识伪装成浏览器。
headers = {'user-agent':'系统版本+浏览器的版本号'}
get(url=url,params=param,headers = headers)
** post请求中data相当于get请求中params**