问题描述
|
我需要通过Wikipedia在我的国家中的城市页面在我的网站中使用。
例如,对于纽约,将有一个关于城市的主页。因此,如果我有城市列表,该如何下载页面?
它将是1000个城市。
我也听说维基百科不喜欢漫游器访问它的页面。
我将按照知识共享许可使用信息。
如果我能够在perl脚本中编写代码,那就太好了。
解决方法
您可以使用
WWW::Wikipedia
:
#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Wikipedia;
my $wiki = WWW::Wikipedia->new();
my $entry = $wiki->search(\'New York\');
binmode STDOUT,\':utf8\';
print $entry->fulltext();
阅读WWW::Wikipedia::Entry
中的文本返回方法:
text
text_basic
fulltext
fulltext_basic
raw
,当维基百科免费提供数据下载时,您不应该抓它:
http://en.wikipedia.org/wiki/Wikipedia:数据库下载
以及使用方法的提示:
http://en.wikipedia.org/wiki/Wikipedia:Database_download#Help_parsing_dumps_for_use_in_scripts
然后,您可以简单地使用已经提供给您的工具:
http://search.cpan.org/dist/MediaWiki-DumpFile
另外,如果您确实只想要一个已知的有限子集,则可以使用以下API:
http://www.mediawiki.org/wiki/API
要将其与perl结合使用,您将开始查看LWP和JSON模块,或者再次利用CPAN:http://search.cpan.org/dist/MediaWiki-API