HTML动态内容怎么获取?简易数据采集教学

大强大大_3435

大强大大_3435

2026-11-11

279人浏览

原创

document.getElementById() 返回 null 主因是脚本执行早于 DOM 加载,需确保在 DOM 构建完成后执行(如 script 置于 前或监听 DOMContentLoaded),并核对 ID 拼写、大小写及服务端是否重写 ID。

html动态内容怎么获取?简易数据采集教学

静态 document.getElementById() 拿不到动态渲染的内容,直接读源码会漏掉 JS 填充的数据——这是绝大多数人卡住的第一步。

为什么 document.querySelector() 返回 null 或空字符串

页面加载后,HTML 源码里可能根本没有目标元素,它们是 JS 执行完才插入 DOM 的。比如一个新闻标题用 fetch() 请求 JSON 后再拼到

里,此时用 document.getElementById('title').textContent 会得到空值,不是代码写错了,是时机不对。

  • 检查是否在 <script></script> 标签里执行得太早:放在 里且没加 defer,DOM 还没建好
  • 确认目标元素是否真由 JS 动态生成:打开浏览器开发者工具 → Elements 面板,手动搜索该元素是否存在;如果存在,再切到 Network → XHR/Fetch,看对应数据接口是否返回了原始 JSON
  • 别依赖“右键→查看网页源代码”,那只是初始 HTML,不是最终 DOM

用 fetch + JSON 解析替代硬扒 HTML

现代网站(如腾讯新闻、网易新闻)多数把正文、列表数据藏在独立 API 接口里,返回的是干净的 JSON,比解析 HTML 稳定得多。你不需要模拟点击或等动画,只要找到那个 URL 就行。

  • 在 Network 面板刷新页面,筛选 XHR 或 Fetch,找响应类型为 application/json 的请求
  • 点开预览(Preview)或响应(Response),确认字段名(如 data.list[0].title)
  • 用 fetch() 直接调它,注意加请求头:headers: {'User-Agent': 'Mozilla/5.0'},否则部分接口会 403
  • 避免跨域限制:浏览器里直接 fetch 受同源策略约束;若用于后端采集,用 Python 的 requests 更自由

需要操作 DOM?等元素真正出现再取

如果必须从渲染后的页面中读取(比如第三方组件、广告位、用户交互后展开的内容),就不能靠“一上来就查”,得监听真实存在时机。

DeepBI DHTML 页面生成器
DeepBI DHTML 页面生成器

生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur

下载
  • 用 MutationObserver 监听指定父容器内新增节点,比轮询 setInterval 更高效、更精准
  • 简单场景可用 await new Promise(r => setTimeout(r, 1000)) 强制延时,但不推荐——网络快慢、设备性能都会影响稳定性
  • 对单页应用(SPA),URL 改变后内容常异步加载,需监听 pushState 或 hashchange,再配合 waitForSelector 类逻辑(Playwright/Selenium 中才有原生支持)
  • 浏览器环境里无法用 page.wait_for_selector() 这种 Playwright 方法,那是服务端控制浏览器的 API,前端 JS 没有等 DOM 的内置阻塞式语法

Python 侧怎么稳定拿动态内容

浏览器里 JS 渲染完再抓,和服务器上发个请求就完事,是两套逻辑。别指望用 requests.get() 直接拿到和 Chrome 里看到的一样的 HTML。

  • 轻量需求:用 Playwright 启动无头 Chromium,page.goto(url) → page.wait_for_selector('article') → page.content(),再交给 BeautifulSoup 解析
  • 别用 Selenium 除非必须模拟登录或复杂交互——启动慢、内存高、维护成本明显更高
  • 如果接口已知且无反爬,绕过浏览器直接 requests.get('https://xxx.com/api/list?sid=123'),解析 JSON,比渲染整页快 5–10 倍
  • 注意 User-Agent 和 Referer:有些接口校验这两个 header,缺一不可,否则返回空数组或 403

真正的难点从来不在“怎么写代码”,而在“怎么确认数据到底从哪来”。Network 面板多刷几次,对比 Preview 和 Response,比翻十篇教程都管用。很多所谓“动态内容”,其实只是藏得深一点的 JSON 而已。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

html动态内容 html

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

7415

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

4072

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3750

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

3759

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

5239

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

3681

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

3509

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

3028

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

3188

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 238人学习