静态爬虫和动态渲染爬虫有什么区别
爬虫与数据

静态爬虫和动态渲染爬虫有什么区别

静态网页可以直接解析 HTML,动态网页则需要理解浏览器渲染和 JS 执行,这就是两类爬虫的核心差别。

本文整理自早期学习笔记,发布时间按学习阶段归档。

正文

静态页面

1. Jsoup 的核心能力

Jsoup 本质上只是一个HTML 解析工具,它的工作流程非常简单:

  1. 向目标 URL 发送 HTTP 请求,获取网页的「原始 HTML 源码」(这一步和浏览器地址栏直接访问、然后右键 “查看网页源码” 看到的内容完全一致);
  2. 按照你写的 CSS 选择器 / 标签规则,从 HTML 源码里筛选、提取指定内容;
  3. 它没有任何执行 JavaScript 的能力,也模拟不了浏览器渲染页面的过程。

—

  • 网页源码里只有一个空的<div class="ant-table"></div>;
  • 页面加载后,JS 会发送一个 Ajax 请求到 https://www.mianshiya.com/api/search,拿到面试题数据,再渲染到空 div 里。

最常用的反爬虫手段
分析并直接请求 Ajax 接口(需要找接口地址、处理请求参数),

  • 必须带浏览器的 Referer(来源)头,否则返回 403;
  • 必须带登录后的 cookie/token,否则返回空数据;

模拟浏览器执行 JS(需要用 Deno/Selenium/Playwright 等工具);
请求频率限制-IP 封禁、访问间隔要求、验证码
动态加载数据(Ajax / 接口)—拦截没有 js 能力的爬虫

图片占位:Pasted image 20260312220231.png

TODO

整理爬虫

模拟一个爬虫

你可能也会喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注