如何检测网页中大多数不常见的超链接和隐式重定向

How to detect most of uncommon hyperlinks and implicit redirects in a webpage?

本文关键字:超链接 不常见 重定向 大多数 何检测 检测 网页      更新时间:2023-10-16

我在 Windows 版 C++/Qt4.8.5 中创建网站爬虫。我发现有时页面可能包含隐式(伪)重定向,例如script标签中的location.replace("some site");。请求的结果代码是 200 而不是类似 Permanently Removed .我不使用正则表达式来查找指向其他页面的链接,因为它不健壮。我检查 HTML 节点的属性而不是它。原始爬网程序仅检测a标记中的href属性。但是还有其他节点可以包含 url。例如,<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=/relative_url"> .与 url 容器、隐式重定向相关的标签/属性(包括script)的非官方列表在哪里?也许,C++/Java 中的某些库包含对这些情况的处理。

另外,我注意到将首选语言的标题添加到请求中无法更改网站的页面语言。我的意思是 Chrome 有某种语言的页面,但我的抓取工具有另一种默认语言的页面,尽管它试图模仿 Chrome 用户代理和语言首选项。我注意到 Chrome 中的 Cookie 包含该网站的语言属性。是否有任何其他属性可以帮助服务器生成所需语言的页面?

是否有任何其他属性可以帮助服务器生成所需语言的页面?

还有更多的可能性,例如地理位置(由 IP、地理位置 API 等标识)。