如何爬取审查元素中Elements里有的,而源代码里没有的标签内容?

写在最前:

有些网页采用了异步加载的方式,将部分内容放在了其他的URL地址中,导致我们通过审查元素可以在相应的标签找到该内容,但在检查源代码的时候发现没有该内容,自然通过当前的url爬取不到目标数据。

解决方法

找到加载过程中加载的需要动态异步加载的json文件,获取它的URL地址。

以某网站(巨潮资讯网)为例:

网址:

http://www.cninfo.com.cn/new/fulltextSearch?notautosubmit=&keyWord=%E8%82%A1%E7%A5%A8%E8%B4%A8%E6%8A%BC&login=from_csdn

在这里插入图片描述

这里我们尝试去爬取搜索结果,发现放置“搜索结果”的这部分网页源代码中看不到。

如何抓取被隐藏的数据?

我们在搜索结果页右键点击检查,进入审查页 ——> 再点击Network选项卡 ——> 点击XHR选项 ——> 然后刷新一下网页。如下图所示:

在这里插入图片描述

异步加载的数据在这里,我们点进去看看,切换到perview选项卡,如下图所示:

在这里插入图片描述

发现在这里能够找到我们所需要的数据。

找到目标网页了,接下来我们切换到headers选项卡,如图所示:

在这里插入图片描述

这里的URL才是我们想要的数据的目标地址。你可以复制一下该地址在浏览器中访问一下便可以看到想要的数据在这个地址中。

接下来通过该URL及相应的头文件、cookie信息我们就可以爬取到该内容了。

import requests

url = 'http://china.nba.com/static/data/player/stats_klay_thompson.json' 
headers = {
        "Cookie": "ssxmod_itna=YqUxgDnie4U7rN/qDWPu5HiDD==; ssxmod_itna2=YqUxgDnief8a00178741cfdf0b1e5e5b62fb156cd2b",
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.232.400 QQBrowser/12.3.5582.400',
        }
r = requests.get(url,headers)
print(r.text)

参考:

页面源码中找不到数据?

获取隐藏了部分内容的网页源代码,审查元素可以,查看源代码不行。

如何使用python或R抓取网页被隐藏的源代码

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
在浏览器的 "网页源代码" 查看器可以查看到网页的原始 HTML 代码,这是服务器发送给浏览器的响应内容。而右键点击页面并选择 "检查" 打开的是浏览器的 "开发者工具",它提供了更多的功能,包括查看和修改 DOM(文档对象模型)、调试 JavaScript 代码、网络请求监控等。 在某些情况下,你可能会注意到在 "网页源代码" 存在一些元素内容,但在 "开发者工具" 没有找到。这可能是因为以下几个原因: 1. 动态生成的内容:某些网页使用 JavaScript 动态生成内容,这些内容可能不会在初始加载时出现在 "开发者工具" 。这是因为 "网页源代码" 是浏览器加载页面时接收到的初始 HTML 代码,而动态生成的内容可能是在页面加载完成后由 JavaScript 生成的。 2. AJAX 请求:一些网页使用 AJAX(异步 JavaScript 和 XML)进行数据加载和更新。AJAX 请求通常是通过 JavaScript 异步发送到服务器,然后在页面上更新内容。这些动态加载的内容可能不会显示在 "网页源代码" ,因为它们是通过 AJAX 请求获取的。 3. 响应内容压缩:有些网站可能使用响应内容压缩技术(如 Gzip)来减小传输大小,从而提高加载速度。这种情况下, "网页源代码" 内容可能是经过压缩的,需要浏览器解压缩后才能查看。 总结起来,网页源代码只显示初始的 HTML 内容,而开发者工具提供了更多的功能来查看和调试页面的实时状态。如果你需要查看动态生成的内容或通过 AJAX 请求加载的内容,可以使用开发者工具的 "Elements"(元素)或 "Network"(网络)标签页来查看。 希望能解答你的问题!如果还有其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘蓝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值