西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)

前言

    本文中如有错误,请指正。

背景

    在日常爬取信息时我们可能会遇到网页信息无法爬取,网页源码中没有这些内容,他是由JS加载的。一方面,我们可以通过前面介绍的splash渲染网页。另一方面,对于一些由JS加载的网页,我们还可以通过在Network下寻找特定的请求链接,这些链接可以返回我们需要的内容。可能说了这么多,有些朋友没有明白我在说啥,那么请接着看正文。

我说

    我们可能会遇到这样的情况,弹窗。
西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)_第1张图片
西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)_第2张图片
    查看网页元素会发现这个弹窗是由JS文件加载的,检查网页源代码可以找到这些内容,因此可以通过直接提取网页源码的方式获得,但是此文中,我们不采用这种方法。
    打开Network,点击证书类型的内容以保证弹窗打开,此时我们可以在Network处看到加载出来的相应的网页,我们点开certificateDetail.json?id=…打开Preview可以看到我们想要的内容。
西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)_第3张图片
    因此我们可以模拟访问这个链接,以返回我们想要的数据,把这个链接复制出来,在新的页面打开,可以看到返回数据的格式为json。
西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)_第4张图片
    通过检查头部可以看出,链接的请求字段为“id”和 “-”。“id”虽然不知道是什么含义,但是他对应的是网页"onclick"属性中的值,“_”为时间戳,这个在构建链接时可以不用管。于是乎可以提取出里面的这串字符,然后和 “ https://www.tianyancha.com/company/certificateDetail.json?id= ”一起组成链接。
在这里插入图片描述
西山小菜鸟之Scrapy学习笔记---爬取弹窗信息的一种方法(JS加载的信息)_第5张图片
     注意: 这个链接需要在登录状态下才能返回数据 ,所以记得登录状态哦。返回数据为JSON格式,我们可以将此转换为我们想要的格式,如key-value形式。
    具体程序此处不再给出,因为是要批量查找 ,所以我前面企查查,天眼查的套路是一样的。此文只是想介绍一种寻找数据的方式。

你可能感兴趣的:(Scrapy爬虫)