java从网页抓取数据(Web:ScraperCPAN模块可能更容易接数据的几个示例 )
优采云 发布时间: 2022-01-02 11:12java从网页抓取数据(Web:ScraperCPAN模块可能更容易接数据的几个示例
)
丹尼斯泰勒:
以编程方式从一堆网页中提取结构化数据的最简单方法是什么?
我目前使用我编写的 Adobe AIR 程序来跟踪页面上的链接并从后续页面获取一些数据。这实际上很有效,而且对于程序员来说,我认为这(或其他语言)提供了一种逐案编写的合理方法。也许有一种特定的语言或库可以让程序员非常快速地做到这一点,如果是这样,我有兴趣了解它们是什么。
是否有其他工具允许非程序员(例如客户支持代表或负责数据采集的人员)从网页中提取结构化数据而无需进行大量复制和粘贴操作?
德拉格顿:
如果您在 Stackoverflow、pQuery 上搜索 WWW::Mechanize&,您将看到许多使用这些 Perl CPAN 模块的示例。
但是因为你提到了“非程序员”,也许 Web::ScraperCPAN 模块可能更合适?它更像是一个 DSL,因此可能更容易连接到“非程序员”。
这是一个从 Twitter 检索推文的文档示例:
use URI;
use Web::Scraper;
my $tweets = scraper {
process "li.status", "tweets[]" => scraper {
process ".entry-content", body => 'TEXT';
process ".entry-date", when => 'TEXT';
process 'a[rel="bookmark"]', link => '@href';
};
};
my $res = $tweets->scrape( URI->new("http://twitter.com/miyagawa") );
for my $tweet (@{$res->{tweets}}) {
print "$tweet->{body} $tweet->{when} (link: $tweet->{link})\n";
}