首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态抓取与解析

问动态抓取与解析
EN

Stack Overflow用户
提问于 2012-01-13 15:29:46
回答 2查看 1.5K关注 0票数 0

原来的问题改为:

我知道大量的PHP,Js,CSS,OOP,最近通过使用vim编辑器的netrw和elinks插件来下载一系列的网页(大约一百万行),并准备上传到我的网站,从而磨练了我的regex技能。我在linux/ubuntu系统上工作,这是一个本地主机设置,这个特定的项目正在实现Concrete5 cms --它是用PHP编写的。

看到抓取和解析信息的好处,我希望让我的站点动态地执行这一功能,尽管规模要小得多;例如,允许我的新用户将他们的个人信息从另一个网站传输到我的网站--这通常是在一个安全的连接(虽然不是总是)和密码之下。

问题:,什么是最好的工具(脚本语言)?我不知道Perl或Ruby,但我相信这两种方法都是不错的选择。我也听说过AWK和SED。我相信一旦我开始学习这门语言,我就能想出该怎么做。我真的很感激一些有经验的意见,关于哪种语言是最好的开始投入我的时间来学习它。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-14 22:18:07

据我所知,Perl有两个非常好的现成工具用于抓取:Web::刮刀和斗志。两者都可以使用CSS3和XPath选择器来识别元素;::Scraper,并添加集成的抓取和爬行,使用一个很好的URL匹配系统来选择要跟踪的链接以收集更多信息(而Web::刮刀只使用单个文档)。它使用建立良好和健壮的WWW:机械化库在页面之间移动,这是智能的、可靠的,并且可以识别身份验证和cookie。

如果您想自己进入较低的级别,那么有很多好的工具可供构建,包括前面提到的WWW::Mechanize、HTML::TreeBuilder、HTML::TreeBuilder::XPath、HTML::TableExtractor等等。

票数 2
EN

Stack Overflow用户

发布于 2012-01-14 15:27:16

我强烈推荐红宝石和水豚用于网络抓取。(请参阅与非测试相关的例子,指向“水豚”页面的底部)。原因:

  • 简单,短刮语法,cookie支持,js支持。
  • Ruby还有许多其他用途、友好的语法和活跃的就业市场。
  • 水豚有多个支持的司机。您可以运行一个真正的浏览器(可见的),一个真正的浏览器无头(不可见),这样javascript站点就可以工作了。使用相同的代码,您可以切换驱动程序来运行http请求,而不需要js (机械化)来提高速度。这可以帮助您克服许多障碍(比如需要运行JS/Ajax),需要看到交互,等等,只需更改一行代码(Capybara.current_driver = :some_driver)。

司机:水豚-Webkit,水豚-机械化

  • 使用CS或Xpath选择器的能力,无论您喜欢什么。
  • 积极的开发,以及围绕着基础技术迅速成长的生态系统。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8852948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档