1、算法框架解释
针对这个案例,现在对爬虫的基础使用做总结如下:
1、算法框架
(1)设定传入参数
~url:
当前整个页面的url:当前页面的网址
当前页面某个局部的url:打开检查
~data:需要爬取数据的关键字,即搜索内容
~param:需要获取哪些(类型)的数据,即数据类型
~headers:UA伪装
(2)得到get/post请求响应
根据”检查“结果进行判断:
get请求:response=requests.get(url=**,data=**,param=**,headers=**)
post请求:response=requests.post(url=**,data=**,param=**,headers=**)
(3)将得到的请求响应json化数据
此处以request.get/post请求数据为dict为例:
dict_obj=response.json() #在这里,你得到的其实是一个python对象,也就是python的字典
(4)持久化存储
~得到存储地址和修改权限
fp=open(“目录“,’w’,encoding=”UTF-8)
~将python对象编码成Json字符串>>格式转化>>python(dict)——>json
json.dump(返回的json数据>>dict_obj,fp=存储地址>>fp,ensure_ascii=False)
~结束
2、代码解析
import requests
import json
"""
"""
if __name__ == "__main__":
print("开始爬取")
# (1)
post_url = 'https://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
post_data = {
'kw': '上海'
}
post_param = {
"cname": "",
"pid": "",
"keyword": "上海",
"pageIndex": "1",
"pageSize": "10"
}
post_header = {
"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/119.0.0.0 Mobile Safari/537.36"
}
# (2)
response = requests.post(url=post_url, data=post_data, params=post_param, headers=post_header)
# (3)
dict_obj = response.json()
# print(type(dict_obj))
# (4)
fp = open('./html/KenDeJi.json', 'w', encoding='UTF-8')
json.dump(dict_obj, fp=fp, ensure_ascii=False)
print("over")
原文地址:https://blog.csdn.net/2301_79149013/article/details/134565120
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_2781.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!