目录
1.Requests模块
1.基础步骤
import requests
#指定url
url='https://www.xiashucom.com/search/result.html?searchkey=%E7%B3%BB%E7%BB%9F'
#发送请求
#返回响应数据
response=requests.get(url=url)
#获取响应数据
page_txt=response.text
print(page_txt)
#储存数据
with open('./xiashucom.html','w',encoding='utf-8')as fp:
fp.write(page_txt)
2.实际运用
1.搜索引擎的搜索结果爬取
发现在搜索引擎中前面域名不变,特点关键词后为搜索内容。
在浏览器抓包工具中得到到标识
import requests
#指定url
url='https://www.baidu.com/s'
wd=input("输入搜索内容:")
#处理url将wd封装到字典中
param={
"wd":wd
}
#为了防止反爬虫需要ua伪装
headers={
#标识
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
#发送请求
#返回响应数据 参数2为链接所带的参数 参数3为身份标识
response=requests.get(url=url,params=param,headers=headers)
#获取响应数据
page_txt=response.text
#储存数据
fileid=wd+'.html'
with open(fileid,'w',encoding='utf-8')as fp:
fp.write(page_txt)
print("保存成功")
2.局部刷新数据的爬取
#在浏览器抓包工具中得到post 刷新请求url
post_url='https://fanyi.baidu.com/sug'
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
#post请求参数处理
valur=input("输入数据:")
data={
'kw':valur
}
#发送请求 参数为,地址,数据,身份标识
#返回的是json格式的数据
respanse=requests.post(url=post_url,data=data,headers=headers)
#将格式转换为obj
data_obj=respanse.json()
#储存数据
valur_s='./'+valur+'.json'
fp=open(valur_s,'w',encoding='utf-8')
#json数据不能为ascii类型
json.dump(data_obj,fp=fp,ensure_ascii=False)
print("储存成功")