跳转到主要内容

HTML::TextExtractor - 从网站抓取内容(文本)

爬虫工具概览

爬虫工具概览HTML::TextExtractorHTML::TextExtractor 从指定页面抓取文本块。该内容爬虫工具支持多页抓取(翻页)。内置绕过 CloudFlare 防护的手段,并可选择 Chrome 作为引擎,用于抓取通过脚本加载数据的页面内容。速度最高可达每分钟 2000 次请求,即每小时 120 000 个链接。

爬虫工具应用案例

以 lingualeo.com 为例通过 Chrome 进行文本数据抓取

以 lingualeo.com 为例通过 Chrome 进行文本数据抓取
  1. 添加 Engine 选项,在列表中选择引擎 Chrome (Slow, JavaScript Enabled)
  2. 在查询中指定需要抓取文本的网站链接。
备注

当网站在页面加载过程中通过脚本加载正文,且在使用 HTTP (Fast, JavaScript Disabled) 时结果缺失或不完整,此选项非常有用。

下载示例

如何将示例导入 A-Parser

eJxtU01v2zAM/S9EDhsQJO1hF9/SYME6pHXXpqcgB8GmXa2ypOkjS2Hkv+/Jce2k
680kHx8fxeeWgvCv/sGx5+Ap27Zku2/KqORKRBVoSlY4zy6Vt/Rjc7fOsg0fwvdD
cKIIxgExYFsKb5bRbfbsnCwZRVkiZl1LnaK9UDEBihdnGqbjbjcljES3XxnXiDR6
Yq9nvY6h+CT2vDEoVlLxmF4huhdNYpyUInCqzqqO6MvXWTgkBlGWMkijhTpNSJuM
U5+1/NMp8sFJXQOP0En2KwhEOnBHkpJv7wq3NOliAk3s+n+deigLLvKUPNSuBLSU
Q6ESyqMiAzuBV8ttkoR8S0YvlFrzntUI6+hvolQlXn5Roem2b/wckv/HcRw2PB+F
s/x10DCwdNFNfjd2lWZtaiyuDdZWspEBsV+aqNNtrpB8ZbbDs90nWGMcD2N65n46
zGVZJw+MV1vYMXWxxsVlLpOF0ZWs895X78ioN3BwrpemsYrTXjoqhat4fhwdsvD9
GVIwCvzYvOxGXHg/GKP8z6eTVOskHPgtCWzwkudTe8pCKPX8uD6v0OgoBC8hWJ/N
5wpWi0KxmRWmmbs4p9QcuDZwFVY77ob/bvg720//vqw94mi//cMJnTZMWOTwVB4X
oez6+A9VbWHX

以新闻网站为例进行带翻页的文本数据抓取

以新闻网站为例进行带翻页的文本数据抓取

结果保存在 aparser/results/example/textextractor 目录中,每个查询对应一个单独的文件。文件名使用查询的序列号。

  1. 添加 Check next page 选项,正则表达式指定为 (forum\/news\/page-\d+)"[^>]+>下一页
  2. 添加 Page as new query 选项。
  3. File name (文件名) 修改为 example/textextractor/${query.num}.txt
  4. 在查询中指定 A-Parser 新闻的第一页链接:https://a-parser.com/forum/news/
下载示例

如何将示例导入 A-Parser

eJx1VN1v2jAQ/18sHjaVEtjoSx4qUVS0TRRoS58Ik6zkQj0c27UdPhTlf9/ZCQmw
7sXJne/jd7+7c0EsNVuz0GDAGhKuCqL8PwnJ44FmikMYLuFgHw9W09hKHYYzFBd0
A6RLFNUGtPNbkR/Lp+mVLVokkNKcW9ItiD0qwLBSWSaFwTuWoBi/Q7w9C7mjPHdm
X1Kp8yyKAgF7gx+F17dRlNx8jcjq9/365j7K+8PBN3d+T/15585h3513A68ZYkCa
JMxlpJyExWW6KcuYq7RPyvK/AF3ikZnB/jkHfWwRWp3DdfQtgPJmU9gBavpluV53
CTKKHJiJ1Bl1+Tpq0Ktpbi5f6Q6WEi9TxqFVT1Ca0czhgqofgUX0cKI46BQfLmFP
5FnZswd7UXGV0fWnRfEm2IdnWEi0dc4MzETLDFUubq08ntCuSMfLBEPk3ve58iFh
SrlBDgxCn1AEmlzfMAuaIsp5TSlSJMWIc09Pa+bjP+SMJzhMoxSdftaOn5vM/4lR
NuWdp9qB3mvE0ETx0sP8qfVK5FRuTmRwNw8om7HMRTUYXd/ThrOZM8ukhiZNHbnO
joukQLixaVs4Uq3qooyLtlwqYylStpljAZolcLLMxRK3dS7G0g2Cq0vknGNbDLy0
4zIydRuc0AK8dh77FAirWVFipeTm12sFVWmG43jnAGbI5HnWOmRMOX97mZ7fkHak
UHi3VpkwCOht9VD0YpkFfq/9VgfExbCwkThdWGG5bl6U5kEqPn1XwgIXlvwxi8ra
FepsUYeMGWwMCQflX6y1tO0=

采集数据

  • 从指定页面抓取文本块
  • 包含所有采集页面的数组(在使用 Use Pages 选项时使用)

功能

  • 多页文本数据抓取(翻页)
  • 自动清除文本中的 HTML 标签
  • 可设置文本块的最小长度
  • 可选删除文本中的链接锚点
  • 支持 gzip/deflate/brotli 压缩
  • 识别并将网站编码转换为 UTF-8
  • 绕过 CloudFlare 防护
  • 引擎选择(HTTP 或 Chrome)

使用场景

  • 从任何网站抓取文本内容

查询

查询中必须指定需要抓取文本块的页面链接,例如:

https://a-parser.com/

结果输出示例

A-Parser 凭借内置的 Template Toolkit 模板引擎支持灵活的结果格式化,允许以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。

默认输出

结果格式:

$texts.format('$text\n')

结果示例:

您好,各领域顶尖专业人士组成的超级团队!感谢你们提供学习西班牙语、土耳其语和葡萄牙语的机会!祝愿你们的功能进一步扩展!充满灵感与创造力!并请求增加学习德语和法语的机会!”
我已经使用 Lingualeo 很多年了,第一次开始学习时甚至还没有应用程序,只有网站)感谢开发者,请继续保持这种创意和对事业的热爱)
IT 技术英语:词典、教材、杂志
在线学习语言 在线学习英语 在线学习越南语 在线学习希腊语 在线学习印尼语 在线学习西班牙语 在线学习意大利语 在线学习中文 在线学习韩语 在线学习德语 在线学习荷兰语 在线学习波兰语 在线学习葡萄牙语 在线学习塞尔维亚语 在线学习土耳其语 在线学习乌克兰语 在线学习法语 在线学习印地语 在线学习捷克语 在线学习日语

可选设置

参数名称默认值描述
Min block length50文本块的最小字符长度。
Skip anchor text是否忽略文本中的锚点。
Ignore tags list用于指定需要忽略的标签。示例:div,span,p
Good statusAll选择哪些服务器响应被视为成功。如果数据抓取时收到其他响应,将使用另一个代理重试请求。
Good code RegEx可指定用于检查响应代码的正则表达式。
MethodGET请求方法。
POST body使用 POST 方法时发送到服务器的内容。支持变量 $query – 请求 URL,$query.orig – 原始查询,以及在使用 Use Pages 选项时的 $pagenum – 页码。
Cookies可为请求指定 cookies。
User agent`_自动填充当前版本 Chrome 的 user-agent_请求页面时的 User-Agent 请求头。
Additional headers可指定自定义请求头,支持模板引擎功能并可使用请求构造器中的变量。
Read only headers仅读取响应头。在无需处理内容的情况下可节省流量。
Detect charset on content根据页面内容识别编码。
Emulate browser headers模拟浏览器请求头。
Max redirects count7爬虫工具将跟随的最大重定向次数。
Max cookies count16要保存的最大 cookies 数量。
Bypass CloudFlare自动绕过 CloudFlare 检查。
Follow common redirects允许在同一域名内绕过 Max redirects count 限制进行 http <-> https 和 www.domain <-> domain 的重定向。
EngineHTTP (Fast, JavaScript Disabled)允许选择 HTTP 引擎(更快,无 JavaScript)或 Chrome 引擎(较慢,启用 JavaScript)。
Chrome Headless如果启用此选项,浏览器将不会显示。
Chrome DevTools允许使用 Chromium 调试工具。
Chrome Log Proxy connections如果启用此选项,日志中将输出 chrome 连接信息。
Chrome Wait Untilnetworkidle2定义何时认为页面已加载。查看详情。
Use HTTP/2 transport定义是否使用 HTTP/2 代替 HTTP/1.1。例如,如果使用 HTTP/1.1,Google 和 Majestic 会立即封禁。
Bypass CloudFlare with Chrome(Experimental)通过 Chrome 绕过 CF。
Bypass CloudFlare with Chrome Max Pages通过 Chrome 绕过 CF 时的最大页数。