2010-10-25 2 views
11

Что было бы самым простым способом получить все статьи о людях из Википедии? Я знаю, что могу загрузить свалку всех страниц, но как я могу их фильтровать и получать только те, что есть у людей? Мне нужно столько, сколько я могу получить (желательно более миллиона), поэтому использование каких-либо API, вероятно, не вариант.Как я могу получить все статьи о людях из Википедии?

+0

Я действительно не знаю, о чем вы просите, кроме более миллиона статей Wikipedia о людях (что не подходит для SO). –

+0

Что именно вы имеете в виду? Вы просите совета о том, как внедрить веб-паук? –

+0

Нет, я не думаю, что в этом случае уловка уместна. Можно загрузить файл дампа википедии. Вопрос в том, как отфильтровать файл дампа XML и получить только те страницы, которые относятся к людям. – Johnny

ответ

10

Поскольку статьи о людях, как правило, содержат шаблон PersonData, вы можете просто найти все статьи, содержащие PersonData. Вы можете найти запрос API образца для выполнения только что здесь:

Does the Wikipedia API support searches for a specific template?

5

С 2014 у вас есть еще один вариант: Query WikiData для всех объектов, где свойство instance of (P31) имеет значение human (Q5).

Полный список людей: https://www.wikidata.org/wiki/Special:WhatLinksHere/Q5

Из этого списка, отфильтровывать любую вещь, которая не имеет в sex or gender (P21), чтобы избавиться от страниц, как «ученый»

Таким образом, вы не необходимо следить за тем, какие шаблоны используются для людей в каждой отдельной языковой версии (есть 285) Википедии.

Смежные вопросы