原来的问题改为:
我知道大量的PHP,Js,CSS,OOP,最近通过使用vim编辑器的netrw和elinks插件来下载一系列的网页(大约一百万行),并准备上传到我的网站,从而磨练了我的regex技能。我在linux/ubuntu系统上工作,这是一个本地主机设置,这个特定的项目正在实现Concrete5 cms --它是用PHP编写的。
看到抓取和解析信息的好处,我希望让我的站点动态地执行这一功能,尽管规模要小得多;例如,允许我的新用户将他们的个人信息从另一个网站传输到我的网站--这通常是在一个安全的连接(虽然不是总是)和密码之下。
问题:,什么是最好的工具(脚本语言)?我不知道Perl或Ruby,但我相信这两种方法都是不错的选择。我也听说过AWK和SED。我相信一旦我开始学习这门语言,我就能想出该怎么做。我真的很感激一些有经验的意见,关于哪种语言是最好的开始投入我的时间来学习它。
谢谢你的帮助。
发布于 2012-01-14 22:18:07
据我所知,Perl有两个非常好的现成工具用于抓取:Web::刮刀和斗志。两者都可以使用CSS3和XPath选择器来识别元素;::Scraper,并添加集成的抓取和爬行,使用一个很好的URL匹配系统来选择要跟踪的链接以收集更多信息(而Web::刮刀只使用单个文档)。它使用建立良好和健壮的WWW:机械化库在页面之间移动,这是智能的、可靠的,并且可以识别身份验证和cookie。
如果您想自己进入较低的级别,那么有很多好的工具可供构建,包括前面提到的WWW::Mechanize、HTML::TreeBuilder、HTML::TreeBuilder::XPath、HTML::TableExtractor等等。
发布于 2012-01-14 15:27:16
我强烈推荐红宝石和水豚用于网络抓取。(请参阅与非测试相关的例子,指向“水豚”页面的底部)。原因:
https://stackoverflow.com/questions/8852948
复制相似问题