Web crawler 网络爬虫的理想编程语言是什么?

Web crawler 网络爬虫的理想编程语言是什么?,web-crawler,Web Crawler,我需要构建一个内容收集程序,该程序只需读取指定网页上的数字,然后保存这些数据供以后分析。我不需要它来搜索链接或相关数据,只需要从每天都有变化内容的网站收集所有数据 我几乎没有编程经验,我希望这对学习有好处。速度不是个大问题,我估计爬虫一天最多只能加载4000页 谢谢 编辑:是否有任何方法可以提前测试我从中收集数据的网站是否受到爬虫的保护?可能是Python或Perl Perl有一个非常好的LWP(),Python有urllib2 这两种语言都是大多数操作系统上可用的简单脚本语言 我已经用Perl

我需要构建一个内容收集程序,该程序只需读取指定网页上的数字,然后保存这些数据供以后分析。我不需要它来搜索链接或相关数据,只需要从每天都有变化内容的网站收集所有数据

我几乎没有编程经验,我希望这对学习有好处。速度不是个大问题,我估计爬虫一天最多只能加载4000页

谢谢


编辑:是否有任何方法可以提前测试我从中收集数据的网站是否受到爬虫的保护?

可能是Python或Perl

Perl有一个非常好的LWP(),Python有urllib2

这两种语言都是大多数操作系统上可用的简单脚本语言

我已经用Perl做了很多次爬虫程序,这是一个晚上的工作

不,他们不能真正保护自己免受爬虫的攻击,除了使用类似的验证码——其他一切都比设置容易破解

关于Java有一点:Java很好。它更加冗长,并且需要一些开发环境设置:所以您不会在一个晚上,可能一周内完成。 对于问题作者指出的一项小任务来说,这可能是一种过度的杀伤力。 另一方面,还有非常有用的库,如
lint
tagsoup
(随机HTML的DOM遍历)和
lucene
(全文索引和搜索),所以您可能需要Java来完成更重要的项目。 在这种情况下,我建议使用
apachecommons-httpclient
library进行web爬网(或者
nutch
,如果你疯了:)


另外:还有一些shelfware产品可以监控特定网站上的更改,并以有用的方式呈现这些更改,所以您可能只需要抓取一个即可。

我想说的是PHP。这是一种面向web的语言,意味着有很多库函数来完成像这样的项目中需要完成的所有奇怪的小事情。它有一个很好的库来实现这个内置(CURL),而且它是一种非常简单的语言。如果您继续使用它编程,您将相对快速地超越它,但是对于像这样简单的东西,它是一个不错的选择

有没有办法提前测试 如果我所在的网站 收集的数据受到保护,不受攻击 爬虫


除了CAPTCHA,尊重文件内容(如果存在)是一种良好的礼仪。

您最熟悉的语言更像是最好的语言

我很少编程 经历

您可能会发现,网络爬虫是一个火的洗礼,您需要构建一些其他更简单的应用程序来熟悉您选择的语言(以及框架,如果适用的话)


祝你好运

Perl或python是显而易见的选择,这取决于最终什么最适合您。这两种语言都不是那么难,但一般来说,如果您发现自己更喜欢一种真正灵活的流畅语言,perl会更适合您,似乎您更喜欢一种更严格、更具数学思维的语言(尤其是相信只有一种方法可以做对事情)然后,您可能会在python中感觉更自在。其他语言可以很好地完成这项工作,但这两种语言是显而易见的选择,因为它们具有可移植性,是CLI脚本任务(特别是文本操作)的强大语言,也是强大的webdev语言,可以为面向web的任务提供大量有用的模块(考虑到前面提到的php的优点,但没有php对客户端的负面影响)。如果大量可用的有用模块对您来说是一个好东西,那么perl在这类任务上比任何其他语言(在CPAN上)都有大量的优势在深入研究使用哪种语言之前,可能值得先看看是否有代码可以重用。在某些方面,一种语言比另一种语言快(python通常擅长复杂的数学,perl通常可以更快地处理文本,这取决于您如何做)

还有其他语言选择,编译语言的可移植性较差,因此在服务器上设置它通常比较麻烦,但执行速度更快。脚本语言通常设计为比编译语言更容易操作文本和文件,尽管并不总是如此。我觉得perl更适合我,所以我会使用It、 但我要说的是,这不是你应该做出决定的基础,找出哪些资源你可以使用,哪些你更喜欢(阅读一些代码,看看哪种风格对你更有意义),然后决定


哦,Oriely有一本关于编程集体智能的书,面向初学者,我从未读过,但它应该很不错,在商店里浏览一下,考虑一下它主要是关于网络爬虫算法的……它以python为例。

我曾经创建过一个webcrawler,但它是为了在网站中搜索更多指向其他网站的链接,并遵循这些链接。它必须记住这些链接,并确保我不会访问一个网站两次,因此我需要一种非常快速的方法来检查重复的URL。为此,我在Delphi 2007中创建了我自己的哈希表。通过一些关于如何使用Internet Explorer COM界面的额外知识,我我在短时间内读了很多页。 我已经使用Delphi编写了这个爬虫程序,因为我需要很多性能

此外,我还选择了Delphi,因为它是我最熟悉的语言,而且它帮助我学习了许多有趣的话题,包括如何编写自己的哈希表算法。此外,对于像我这样有经验的程序员来说,这是一个非常有趣的挑战


我的建议已经提供:使用您最熟悉的工具。

如果您是初学者,我建议您使用一种“简单”的语言,如REBOL中的