当前位置: 首页 > news >正文

二、爬虫-爬取肯德基在北京的店铺地址

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")

http://www.lryc.cn/news/239399.html

相关文章:

  • linux驱动开发.之spi测试工具spidev_test源码(一)
  • 基于材料生成算法优化概率神经网络PNN的分类预测 - 附代码
  • Go——二、变量和数据类型
  • 合并区间问题
  • 2023 年最新 MySQL 数据库 Windows 本地安装、Centos 服务器安装详细教程
  • 每天一道算法题(十)——获取和为k的子数组
  • 2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排
  • 在vscode中使用Latex:TexLive2023
  • Unity开发之C#基础-File文件读取
  • 深度学习之二(前馈神经网络--Feedforward Neural Network)
  • 2023全球边缘计算大会深圳站-核心PPT资料下载
  • 【亚太杯思路助攻】2023年第十三届APMCM亚太地区大学生数学建模竞赛——(文末领取方式)
  • vue开发一、在Vue中引入ElementUI二、在Vue中使用阿里图标库
  • 基于SpringBoot+Mybatis plus+React.js实现条件选择切换搜索功能
  • 【STM32】W25Q64 SPI(串行外设接口)
  • 如何使用Mondo Rescue备份及恢复Linux系统(制作ISO镜像,成功恢复)
  • Java如何获取泛型类型
  • 2023年【起重机械指挥】考试题及起重机械指挥找解析
  • 【前端学java】Java中的接口和枚举概念(7)
  • P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒(模拟)
  • 边缘计算是如何为元宇宙提供动力的?
  • 优秀智慧园区案例 - 上海世博文化公园智慧园区,先进智慧园区建设方案经验
  • 【DevOps】Git 图文详解(五):远程仓库
  • 如果在手机没有root的情况下完成安卓手机数据恢复
  • C++学习 --stack
  • 简单但好用:4种Selenium截图方法了解一下!
  • 【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题
  • 在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)
  • 基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码
  • Flutter的Event Loop