问题标签 [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.

0 投票
4 回答
222 浏览

screen-scraping - 如何从专有 CMS 迁移资源?

我需要从使用活动服务器页面的专有 CMS 迁移我们的网站。是否有工具或技术可以帮助从现有站点下载资源?我想我正在寻找一种可以抓取和抓取整个网站的工具。

另一个挑战是该站点使用 SSL 并受到基于表单的身份验证的保护。我有必要的凭据,我可以获取验证会话的 cookie,但我不确定从这里去哪里,如果现有工具可以帮助我,我不想重新发明轮子。

编辑 - 我正在使用 Windows 操作系统

0 投票
4 回答
1187 浏览

javascript - 如何提取 HTML 文档中的 javascript 链接?

我正在为一个使用大量 javascript 链接的网站编写一个小型 webspider:

函数如下所示:

在服务器端评估此功能的最佳方法是什么,以便我可以构造 _url 的值?

0 投票
9 回答
23747 浏览

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 时间?

0 投票
1 回答
4238 浏览

web-crawler - 如何下载谷歌搜索结果?

抱歉,如果这是一个太无知的问题或以前曾被问过。粗略一看,并没有找到任何与此完全匹配的东西。问题是:如何下载 Google 已索引的所有 Word 文档?手工完成确实是一项艰巨的任务......感谢所有指示。

0 投票
8 回答
3402 浏览

web-crawler - 网络爬取及其局限性

假设我们在网络上放置了一个文件,如果您知道直接 URL,该文件可以公开评估。没有指向该文件的链接,并且服务器上的目录列表也已禁用。因此,虽然它可以公开访问,但除了输入该文件的确切 URL 外,无法访问该页面。任何类型的网络爬虫(好的或恶意的)能够通过爬取然后索引文件来定位该文件的可能性有多大。

对我来说,即使它可以公开访问,也需要运气或查找文件的特定知识。就像把金子埋在后院,让别人在没有地图的情况下找到它,或者知道那里埋着什么东西。

我只是看不到它会被发现的任何其他方式,但这就是我询问 stackoverflow 社区的原因。

谢谢。

0 投票
8 回答
14524 浏览

php - 如何通过 PHP 识别 google/yahoo/msn 的网络爬虫?

AFAIK,

$_SERVER['REMOTE_HOST'] 应该以“google.com”或“yahoo.com”结尾。

但这是最有保障的方法吗?

还有其他出路吗?

0 投票
3 回答
11289 浏览

web-services - 聚合器是如何构建的?

假设我想从许多来源(可能是旅行、技术或其他)汇总与特定利基相关的信息。我该怎么做?

有一个蜘蛛/爬虫会爬网以找到我需要的信息(我如何告诉爬虫爬什么,因为我不想获取整个网络?)?然后有一个索引系统来索引和组织我爬取的信息,同时也是一个搜索引擎?

像 Nutch lucene.apache.org/nutch 这样的系统可以用于我想要的吗?你推荐别的东西吗?

或者你能推荐另一种方法吗?

例如,Techmeme.com 是如何建立的?(它是技术新闻的聚合器,并且是完全自动化的——直到最近他们才增加了一些人工干预)。建立这样的服务需要什么?

或者 Kayak.com 如何汇总他们的数据?(这是一个旅游聚合服务。)

0 投票
3 回答
1042 浏览

screen-scraping - 识别恶意网络爬虫

我想知道是否有任何技术可以识别收集非法使用信息的网络爬虫。简而言之,数据盗窃是为了创建网站的副本。

理想情况下,该系统会检测到来自未知来源的抓取模式(如果不在 Google 抓取工具的列表中等),并将虚假信息发送给抓取抓取工具。

  • 如果作为防御者,我检测到一个未知爬虫定期访问该站点,则攻击者将随机化这些时间间隔。
  • 如果作为防御者,我检测到相同的代理/IP,则攻击者将随机分配代理。

这就是我迷路的地方 - 如果攻击者随机化间隔代理,我如何区分代理和机器从同一网络访问站点?

我正在考虑使用 javascript 和 cookie 支持检查可疑代理。如果柏忌不能始终如一地做到,那么它就是一个坏人。

我还可以做些什么?是否有任何算法,甚至是设计用于对历史数据进行快速动态分析的系统?

0 投票
3 回答
571 浏览

url - 建立一个 url 队列

哪个更适合在大型网络爬虫中构建 URL 队列。链表还是 B 树?

0 投票
2 回答
5238 浏览

filesystems - 如何制作nutch爬取文件系统?

不基于http,

比如http://localhost:81等等,

而是直接爬取本地文件系统上的某个目录,

有什么出路吗?