欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

爬虫练习案例--交通路况

程序员文章站 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 文档的形式返回内容。

相关标签: 爬虫