ad

学习《Python网络爬虫 从入门到精通》_10.1.2 理解返回的 JSON 格式数据的意义

网友投稿 169 2023-11-13

【摘要】 本书摘自《Python网络爬虫 从入门到精通》一书中第10章,第1节,吕云翔、张扬和韩延刚等编著。

10.1.2 理解返回的 JSON 格式数据的意义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写。 Python 解析 JSON 格式的数据也非常方便。开发者只需要分析出返回数据字段的实际意义就 能进行下一步解析存储了。

经过上面这些步骤,读者已经通过分析网站的请求找到了所需的 Request 的 URL 和参 数。按照爬虫请求、解析、处理数据三部曲的思路,下一步就先看看怎么解析。

学习《Python网络爬虫 从入门到精通》_10.1.2 理解返回的 JSON 格式数据的意义

如图10-3 所示,通过对比页面和 Response JSON, 找到所需的车次信息和余票信息, 在写代码解析的时候,只需要按规律将 JSON 的 result 用“|”符号切割开。从结果中可以发 现第4段文字是车次,第8、9个字段是车次出发和到站时间,第13 个字段是日期,第30 个字段表示有无车票。在 Python3 中解析 JSON 时需要导入 json 库 (import json), 它包含了两个函数—— json.dumps()对数据进行编码,json.loads() 对数据进行解码。在 JSON 的编解码过程中, Python的原始类型与JSON 类型会相互转换。

【提示】 虽然 Python 3自带了 json 库,但是有时读者会遇到不是很标准的 JSON, 这时 这个库就无法解析了。比如{0:'v0’,1:'vl’}, 这个 JSON 串的 key 没有引号, value 有引号, 这时候可以用demjson 来解析。

10.1.3 微信消息推送

当有所需车次的余票时,需要第一时间通知到自己,可选方案有邮箱、手机、QQ 、在这里,给读者推荐一款方便好用的推送工具——Server 酱,英文名为 ServerChan, 它是一个有着 Get 接口的可编程消息接收器,可以将信息推送到微信。如果要实现一对多推 送,可以使用Server 酱的高级版 PushBear, 参考其官网: http://sc.ftqq.com/3.version。开通并 使用它,只需要一分钟。

1)登录。用GitHub 账号登录网站,就能获得一个SCKEY (在“发送消息”页面)。 2)绑定。单击“微信推送”按钮,扫码关注的同时即可完成绑定。

3)发消息。往 http://sc.ftqq.com/SCKEY.send 发 GET 请求,就可以在微信里收到消息。 该URL 接受三个参数。

● sendkey*: 通道的 SendKey, 必填,登录后可见。在此案例中专门申请了一个 sendkey

用于代码的学习。

● text*: 消息标题,最长为256字节,必填。

●desp: 消息内容,最长64KB, 可空,支持MarkDown。

最简单的消息发送方式是通过浏览器,在地址栏输入以下URL, 回车后即可发送:

https://sc.ftqq.com/[SCKE Y(登入后可见)].send?text= 主人有火车票了8desp=

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_3.1.2 for 和 while 循环语句
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_Python 中重复利用的函数与模块
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×