HTML::TextExtractor::LangDetect - 网页语言检测
爬虫工具概览

HTML::TextExtractor::LangDetect 识别网站语言,以及识别准确率(百分比)。支持多页数据抓取和按指定深度跳转到网站内部页面,从而遍历网站所有页面并收集内外链。内置了绕过 CloudFlare 防护的手段,并可选择 Chrome 作为引擎,用于从通过脚本加载数据的页面中抓取邮箱。速度可达每分钟 2000 次请求 – 即每小时 120 000 条链接。采集数据
- 识别网站语言
- 识别准确率(%)
功能
- 多页数据抓取(翻页)
- 支持 gzip/deflate/brotli 压缩
- 识别网站编码并转换为 UTF-8
- 绕过 CloudFlare 防护
- 引擎选择(HTTP 或 Chrome)
- 无需第三方服务即可识别网站语言
- 识别准确率(%)
应用场景
- 筛选具有特定内容语言的域名
查询
查询应指定网站列表,例如:
http://a-parser.com/
http://yandex.ru/
http://google.com/
http://vk.com/
http://facebook.com/
http://youtube.com/
结果输出示例
得益于内置的 Template Toolkit 模板引擎,A-Parser 支持灵活的结果格式化,允许以任意形式输出结果,也支持 CSV 或 JSON 等结构化格式。
默认输出
结果格式:
$query: $lang\n
结果示例:
http://vk.com/: RUSSIAN
http://a-parser.com/: RUSSIAN
http://yandex.ru/: RUSSIAN
http://youtube.com/: ENGLISH
http://google.com/: ENGLISH
http://facebook.com/: ENGLISH
可能的设置
| 参数名称 | 默认值 | 描述 |
|---|---|---|
| Good status | All | 选择哪些服务器响应被视为成功。如果数据抓取时收到其他响应,将使用另一个代理重试请求。 |
| Good code RegEx | 可以指定用于检查响应代码的正则表达式。 | |
| Method | GET | 请求方法。 |
| POST body | 使用 POST 方法时发送到服务器的内容。支持变量 $query – 请求 URL,$query.orig – 原始查询,以及使用 Use Pages 选项时的 $pagenum - 页码。 | |
| Cookies | 可以为请求指定 cookies。 | |
| User agent | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) | 请求页面时的 User-Agent 请求头。 |
| Additional headers | 可以指定自定义请求头,支持模板引擎功能并可使用查询构造器中的变量。 | |
| Read only headers | ☐ | 仅读取响应头。在不需要处理内容的情况下,可以节省流量。 |
| Detect charset on content | ☐ | 根据页面内容识别编码。 |
| Emulate browser headers | ☐ | 模拟浏览器请求头。 |
| Max redirects count | 7 | 爬虫工具将跟随的最大重定向次数。 |
| Max cookies count | 16 | 要保存的最大 cookies 数量。 |
| Bypass CloudFlare | ☑ | 自动绕过 CloudFlare 验证。 |
| Follow common redirects | ☑ | 允许在同一域名内进行 http <-> https 和 www.domain <-> domain 重定向,且不计入 Max redirects count 限制。 |
| Engine | HTTP (Fast, JavaScript Disabled) | 允许选择 HTTP 引擎(速度更快,无 JavaScript)或 Chrome 引擎(速度较慢,启用 JavaScript)。 |
| Chrome Headless | ☐ | 如果启用此选项,浏览器将不会显示。 |
| Chrome DevTools | ☑ | 允许使用 Chromium 调试工具。 |
| Chrome Log Proxy connections | ☑ | 如果启用此选项,日志中将输出 chrome 连接信息。 |
| Chrome Wait Until | networkidle2 | 定义何时认为页面已加载。查看值的详细说明。 |
| 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 时的最大页面数。 |