可以用javascript完全编写一个爬虫吗?

时间:2010-04-18 05:10:51

标签: javascript web-crawler

我想知道 - 爬虫可以完全用javascript编写吗?这样,只有当用户需要信息并且所有内容都是从个人用户的计算机上运行时才会调用爬虫。

如果爬虫是在服务器端编写的 - 那么是否也存在IP被阻止的风险?

3 个答案:

答案 0 :(得分:2)

可以在javascript中编写抓取工具,例如使用Node.JS。但是,您可能无法在用户的浏览器中编写一个。这是因为:

  • 浏览器安全模型限制javascript只访问您自己的域,因此您只能索引自己的网站。
  • 每个用户每次都需要重新抓取整个网站,这意味着在用户的查询得到解答之前花费大量时间(分钟,小时甚至数天,具体取决于网站的大小),以及大量带宽使用,因为它在整个用户群中成倍增加。更不用说用户的浏览器可能不允许您的JS为其索引提供足够的存储空间。

答案 1 :(得分:2)

首先,在谈论细节之前,您必须了解抓取速度非常慢。如果您在一个站点上查看,那么获取任何类型的有意义的Web索引都需要几分钟,而如果您正在查看多个来源(通常为数周,数月或数年),则至少需要几天。通过实时爬行搜索是不可行的。

至于细节,没有什么能阻止人们在Javascript中编写爬虫。但是,不是在嵌入浏览器的javascript中,至少由于跨源策略而没有服务器端代理。

答案 2 :(得分:2)