欢迎光临散文网 会员登陆 & 注册

requests学习笔记——路飞学城Python课程6作业

2022-06-04 11:33 作者:纳鲁涛  | 我要投稿

视频地址:https://www.bilibili.com/video/BV1Yh411o7Sz?share_source=copy_web

需求:kfc官网的站点信息

如图所示,kfc官网中的餐厅查询中,输入搜索关键字获取查询的所有结果

首先抓包,

请求的负载中包含五个数据,请求参数包含一个。

再看相应内容,返回了两个表,分别存储rowcount查询结果总行数,和当前页查询结果

可以看出,数据中keyword是搜索的内容,pagesize是当前页的查询结果数。于是,可以请求两次,第一次只读取查询结果的总行数,并在第二次查询时将data中的keyword改为总行数即可获得全部查询结果。

因此脚本大致结构如下:

一、定义requests发送请求需要的变量,如url,data,param等

二、发起第一次请求,并将返回的内容解析成字典类型方便读取其中的信息

三、更改data中的pagesize值,发起第二次请求,并将其转化为字典读取第二张表的信息

四、将第二张表的内容保存为csv或execl,方便阅读

下面是具体代码:

其中,将文本信息转换为字典我使用了ast.literal_eval()方法,可以将字符串自动解析成字典,但是对于字符串的格式有严格要求,比如,字典中必须使用双引号而不是单引号,字典中不能出现null,这也是我在脚本中使用replace替换文字的原因。

对字典的处理和保存成csv文件我使用的pandas库,使用Dataframe方法将字典转化成pandas的dataframe数据格式,并使用to_csv方法保存成csv格式


requests学习笔记——路飞学城Python课程6作业的评论 (共 条)

分享到微博请遵守国家法律