问题标签 [web-crawler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
screen-scraping - 如何从专有 CMS 迁移资源?
我需要从使用活动服务器页面的专有 CMS 迁移我们的网站。是否有工具或技术可以帮助从现有站点下载资源?我想我正在寻找一种可以抓取和抓取整个网站的工具。
另一个挑战是该站点使用 SSL 并受到基于表单的身份验证的保护。我有必要的凭据,我可以获取验证会话的 cookie,但我不确定从这里去哪里,如果现有工具可以帮助我,我不想重新发明轮子。
编辑 - 我正在使用 Windows 操作系统
javascript - 如何提取 HTML 文档中的 javascript 链接?
我正在为一个使用大量 javascript 链接的网站编写一个小型 webspider:
函数如下所示:
在服务器端评估此功能的最佳方法是什么,以便我可以构造 _url 的值?
c# - HTTPWebResponse + StreamReader 非常慢
我正在尝试使用 HttpWebResponse.GetResponse() 和 Streamreader.ReadToEnd() 在 C# 中实现一个有限的网络爬虫(仅适用于几百个站点),还尝试使用 StreamReader.Read() 和一个循环来构建我的 HTML 字符串。
我只下载大约 5-10K 的页面。
这一切都非常缓慢!例如,平均 GetResponse() 时间约为半秒,而平均 StreamREader.ReadToEnd() 时间约为 5 秒!
所有站点都应该非常快,因为它们离我的位置非常近,并且拥有快速的服务器。(在 Explorer 中几乎不需要 D/L)而且我没有使用任何代理。
My Crawler 有大约 20 个线程同时从同一站点读取。这会导致问题吗?
如何大幅减少 StreamReader.ReadToEnd 时间?
web-crawler - 如何下载谷歌搜索结果?
抱歉,如果这是一个太无知的问题或以前曾被问过。粗略一看,并没有找到任何与此完全匹配的东西。问题是:如何下载 Google 已索引的所有 Word 文档?手工完成确实是一项艰巨的任务......感谢所有指示。
web-crawler - 网络爬取及其局限性
假设我们在网络上放置了一个文件,如果您知道直接 URL,该文件可以公开评估。没有指向该文件的链接,并且服务器上的目录列表也已禁用。因此,虽然它可以公开访问,但除了输入该文件的确切 URL 外,无法访问该页面。任何类型的网络爬虫(好的或恶意的)能够通过爬取然后索引文件来定位该文件的可能性有多大。
对我来说,即使它可以公开访问,也需要运气或查找文件的特定知识。就像把金子埋在后院,让别人在没有地图的情况下找到它,或者知道那里埋着什么东西。
我只是看不到它会被发现的任何其他方式,但这就是我询问 stackoverflow 社区的原因。
谢谢。
php - 如何通过 PHP 识别 google/yahoo/msn 的网络爬虫?
AFAIK,
$_SERVER['REMOTE_HOST'] 应该以“google.com”或“yahoo.com”结尾。
但这是最有保障的方法吗?
还有其他出路吗?
web-services - 聚合器是如何构建的?
假设我想从许多来源(可能是旅行、技术或其他)汇总与特定利基相关的信息。我该怎么做?
有一个蜘蛛/爬虫会爬网以找到我需要的信息(我如何告诉爬虫爬什么,因为我不想获取整个网络?)?然后有一个索引系统来索引和组织我爬取的信息,同时也是一个搜索引擎?
像 Nutch lucene.apache.org/nutch 这样的系统可以用于我想要的吗?你推荐别的东西吗?
或者你能推荐另一种方法吗?
例如,Techmeme.com 是如何建立的?(它是技术新闻的聚合器,并且是完全自动化的——直到最近他们才增加了一些人工干预)。建立这样的服务需要什么?
或者 Kayak.com 如何汇总他们的数据?(这是一个旅游聚合服务。)
screen-scraping - 识别恶意网络爬虫
我想知道是否有任何技术可以识别收集非法使用信息的网络爬虫。简而言之,数据盗窃是为了创建网站的副本。
理想情况下,该系统会检测到来自未知来源的抓取模式(如果不在 Google 抓取工具的列表中等),并将虚假信息发送给抓取抓取工具。
- 如果作为防御者,我检测到一个未知爬虫定期访问该站点,则攻击者将随机化这些时间间隔。
- 如果作为防御者,我检测到相同的代理/IP,则攻击者将随机分配代理。
这就是我迷路的地方 - 如果攻击者随机化间隔和代理,我如何不区分代理和机器从同一网络访问站点?
我正在考虑使用 javascript 和 cookie 支持检查可疑代理。如果柏忌不能始终如一地做到,那么它就是一个坏人。
我还可以做些什么?是否有任何算法,甚至是设计用于对历史数据进行快速动态分析的系统?
url - 建立一个 url 队列
哪个更适合在大型网络爬虫中构建 URL 队列。链表还是 B 树?