Python学习第二课(数据包这个东西,挺麻烦)
失败就要找方法
既然失败了,就换个思路。
上一课也总结了,很多数据以包的形式传输,那就试试数据包能不能帮助我们。
回忆一下json的格式,今天要用到啦。
换个思路,新的方法
首先,既然是抓取数据包,没有纯粹的HTML语言,也就用不到bs4了。
然后呢,Python自带了json的格式化包,先导入他们。
(bs4)
from urllib import request
from urllib import parse
import json
第二课,第二个小爬虫
锁定目标,这次有点烦
在哪里跌倒,就在哪里继续挖坑。
- 善用浏览器:
刚才打开的双色球专属页面不要关掉,我们需要Ctrl+Shift+I的帮忙。
在网络一栏里,刷新页面可以看到网页请求了很多内容,只好挨个点过去,找一下我们要的包究竟在哪里。
- 查找数据接口:
挨个点过,能够找到数据包真正的位置。
看吧,目前选中的这个就是传递参数的数据接口 (俗称API)
- 就是它了,你的API,我的数据源:
右键复制一下地址,新的URL就用它了!
Request_URL = 'http://www.cwl.gov.cn/cwl_admin/kjxx/findKjxx/forIssue?name=ssq&code=2021088'
等等,如果直接访问,岂不是每次只能查这一期的?那这个程序可就疯了。
所以,想要随时能查到下一期,这代码才有意义。
所以,删除参数,直接访问它。
代码就是要解决自动化的。
Request_URL = 'http://www.cwl.gov.cn/cwl_admin/kjxx/findKjxx/forIssue'
接着搞吗?别急,有套路。没参数,能返回啥?
4.接着分析,就这么麻烦
在“消息头”选项卡,点击右侧超级小的“重发→编辑重发”看看究竟是怎么搞的。
上面的信息告诉我们三个消息。
第一,使用的发送方法是GET
第二,数据包的内容有两条
第三,消息头有很多信息
- 开搞,伪装就很烦
良好习惯不要忘,首先我们要定义好发送给API的数据包并封装,然后还要定义好消息头。
From_Data = {
'name' : 'ssq'