2010-03-28 93 views
3

我想要从http://en.wikipedia.org/wiki/Category:People_by_occupation获取人员列表。我必须浏览所有部分,并从每个部分获取人员。来自维基百科的一群人

我应该怎么办?我是否应该使用抓取工具并获取页面并使用BeautifulSoup搜索那些页面?
或者有没有其他的选择从维基百科获得相同的?

+0

你为什么*要*?一般来说,挖掘人员名单并不合适。 – 2010-03-28 18:35:56

+0

我正在尝试对不同人群进行一些分析。我们有新闻分析数据,从中我们对每个实体都有不同的特征,并且看到特定组的特定特征的重要性。 – AlgoMan 2010-03-28 18:40:15

+0

什么是您的首选编程语言?Python? – systempuntoout 2010-03-28 19:26:54

回答

3

我会去Pywikipediabot python项目。

看一看category.py。 你可以使用:

* tree  - show a tree of subcategories of a given category 
* listify  - make a list of all of the articles that are in a category 
1

如果你愿意,你可以下载整个维基百科转储并从那里工作。你可能会想要的只是articles dump dated 3 feb 2010。但要小心:它的尺寸为5.6 GB。

+0

我不推荐使用dump来处理类别。在这种情况下,OP应该编写维基百科模板处理,因为有些类别是通过模板添加的。我投票支持抓取维基百科页面。 – Yaroslav 2010-03-28 18:48:33

+1

抓取这样一个大网站(和网站政策)并不是一个好主意。处理 维基百科很难,但传递它的XML转储并不是很糟糕,我可以向你保证它可以在2GB的RAM中完成。 – Ross 2010-05-19 09:14:24

1

可以使用CATSCAN工具搜索类别。这里
http://meta.wikimedia.org/wiki/CatScan

Example search

说明 - 请注意,HTML格式的1000个结果马克塞斯。选择CSV导出来检索所有结果。此外,请确保根据需要修改分类深度和其他选项。

已经提到的pywikipediabot是另一种选择。