爬虫练习案例--交通路况
程序员文章站
2022-07-14 21:35:16
...
前言
除了一些比较常规的网页,还存在一些结构更复杂的网页,通过分析学习,提升爬虫技术。
分析
起初是想爬取广州交通信息网中关于重点区域路况的内容
通过F12查看页面元素,觉得可以实现抓取,结果实操时发现了问题
response = requests.get(url, headers=headers)
json= response.content.decode()
返回的信息中并没有任何有关数据,一查看才知道,网页用了iframe嵌套页面
由于iframe标签中含有src属性,再次对新url进行requests,还是以失败告终
没有数据,考虑可能是异步加载数据。点击F12,选择NetWork下的XHR,刷新页面
打开第一个页面,结果找到了数据
由此找到了最终爬取的页面网址
代码
代码就不贴上来了,其实这节重要的是分析过程。找到实际爬取的页面后,用json提取就能获取想要的数据了。
其他
XHR,全称为XMLHttpRequest,用于与服务器交互数据,是ajax功能实现所依赖的对象。XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
上一篇: [HITSC]哈工大软件构造Lab3+Lab4实验总结
下一篇: 编号功能
推荐阅读