当前位置: 首页 > news >正文

如何爬取审查元素中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 requestsurl = '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抓取网页被隐藏的源代码

相关文章:

  • 3.Linux/UNIX平台Python的下载、安装和配置环境变量——《跟老吕学Python编程》
  • 微信小程序一次性订阅requestSubscribeMessage授权和操作详解
  • [创业之路-100] :结构工程师的角色划分与结构设计的流程
  • LeetCode Python - 51. N 皇后
  • 分布式搜索引擎Elasticsearch中各种类型节点的作用
  • 【考研数学】打基础用张宇《30讲》还是武忠祥《基础篇》?
  • 安徽省月度降水量分布数据
  • Kubernetes kafka系列 | k8s部署kafka+zookeepe集群(可外部通信)
  • 解释器模式(Interpreter Pattern)
  • 【Spring Boot 3】【JSON】读取JSON文件
  • 在springboot中Redis数据与MySQL数据的一致性方案思考和案例
  • 2024.3.13 C++
  • PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
  • 2.案例、鼠标时间类型、事件对象参数
  • kubernetes学习总结
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CAP 一致性协议及应用解析
  • CAP理论的例子讲解
  • css属性的继承、初识值、计算值、当前值、应用值
  • HomeBrew常规使用教程
  • Linux各目录及每个目录的详细介绍
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • mysql外键的使用
  • springMvc学习笔记(2)
  • Web Storage相关
  • webpack+react项目初体验——记录我的webpack环境配置
  • webpack入门学习手记(二)
  • XForms - 更强大的Form
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 十年未变!安全,谁之责?(下)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 移动端唤起键盘时取消position:fixed定位
  • 终端用户监控:真实用户监控还是模拟监控?
  • 阿里云ACE认证学习知识点梳理
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #162 (Div. 2)
  • #define用法
  • $.ajax中的eval及dataType
  • ${ }的特别功能
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (70min)字节暑假实习二面(已挂)
  • (多级缓存)多级缓存
  • (二)丶RabbitMQ的六大核心
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (顺序)容器的好伴侣 --- 容器适配器
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .apk文件,IIS不支持下载解决
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET BackgroundWorker