SE::DuckDuckGo - DuckDuckGo 搜索结果爬虫工具

爬虫工具概览
DuckDuckGo 搜索结果爬虫工具。借助 DuckDuckGo 爬虫工具,您可以获取海量的链接库,供后续使用。您可以直接使用在 DuckDuckGo 搜索栏中输入的查询语句,包括搜索运算符(intitle, inurl, site 等)。详情请参阅官方页面 DuckDuckGo Search Syntax。
A-Parser 的功能允许您保存 DuckDuckGo 爬虫工具的抓取设置以便后续使用(预设),设置抓取计划等。您可以使用自动查询扩展、从文件替换子查询、遍历字母数字组合和列表,以获取尽可能多的结果。
得益于内置强大的模板引擎 Template Toolkit,您可以按所需的格式和结构保存结果,该引擎允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON, SQL 和 CSV。
采集数据
- 搜索结果中的链接、锚点和摘要

功能
- 支持所有 DuckDuckGo 搜索运算符 (intitle:, inurl:, site: 等)。详情请参阅官方页面 DuckDuckGo Search Syntax
- 抓取 DuckDuckGo 提供的最大结果数 - 10 页,每页 10 个结果元素
- 总结果数 - 100
- 可按选定位置抓取(Location 选项)
- 可选择搜索结果语言(Language 选项)
应用场景
- 收集链接库 - 用于 A-Poster, XRumer, AllSubmitter 等。
- 检查网站索引情况
- 查找网站反向链接(提及)
- 任何涉及以某种形式抓取 DuckDuckGo 的其他场景
查询
查询时需要指定搜索词,例如:
Football
测试
site:a-parser.com
爬虫工具 site:a-parser.com
test -site:tests.com
IoT filetype:pdf
查询替换
您可以使用 内置宏 来扩展查询,例如我们想获取一个非常大的论坛数据库,指定几个不同语言的基础查询:
forum
论坛
foro
论坛
在查询格式中指定从 a 到 zzzz 的字符遍历,此方法可以最大程度地轮换搜索结果并获得许多新的唯一结果:
$query {az:a:zzzz}
该宏将为每个原始搜索查询创建 475254 个额外查询,总计将产生 4 x 475254 = 1901016 个搜索查询,这个数字令人印象深刻,但对于 A-Parser 来说完全不是问题。在每分钟 2000 个查询的速度下,此类任务仅需 16 小时即可处理完毕。
使用运算符
您可以在查询格式中使用搜索运算符,这样它将自动添加到列表中的每个查询:
site:$query
结果输出示例
得益于内置的模板引擎 Template Toolkit,A-Parser 支持灵活的结果格式化,允许以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。
导出链接列表
链接 + 锚点 + 摘要(带位置输出)
将链接、锚点和摘要输出到 CSV 表格
保存相关关键词
检查链接索引情况
以 SQL 格式保存
将结果转储为 JSON
结果处理
A-Parser 允许在数据抓取过程中直接处理结果,本节列出了 DuckDuckGo 爬虫工具最常用的案例。
链接去重
按域名进行链接去重
提取域名
去除锚点和摘要中的标签
按包含内容过滤链接
可能的设置
| 参数名称 | 默认值 | 描述 |
|---|---|---|
| Pages count | 5 | 要抓取的页数(1 到 10) |
| Region | US (English) | 选择位置 |
| Language | English (United States) | 选择语言 |
| Safe search | Moderate | 是否启用“Safe search” |
| Serp time | Any time | 搜索时间范围 |
| Use HTTP/2 | ☐ | 确定是否使用 HTTP/2 代替 HTTP/1.1 |
| User agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0 | 请求页面时的 User-Agent 请求头 |