получить текущий статус статей Википедии?

Я использую Python и MySQL для запроса базы данных mediawiki, чтобы получить текущий статус статей (т. е. является ли статья FA, GA, GAN и т. д.), но не смог этого сделать.

Я знаю, что текущий статус хранится в поле old_text текстовой таблицы. Я пытался что-то вроде:

loc = select (locate('currentstatus', old_text))
query = ('select substring(old_text, '%s', 20) from wikidb where page_id = 1234' % (loc))

но, к сожалению, loc дает первое вхождение currentstatus, а не последнее, которое не очень «актуально», поскольку самый новый/последний статус находится внизу.

Я не уверен, как это исправить, или я использую правильный подход.


person hopeful    schedule 06.07.2011    source источник
comment
Какой SQL API вы используете? Откуда берутся данные? Даже если вы просто укажете формат поля currentstatus, я уверен, что кто-нибудь сможет вам помочь.   -  person Michael Mior    schedule 06.07.2011
comment
Каков формат поля базы данных old_text?   -  person Michael Mior    schedule 06.07.2011
comment
Я использовал специальный экспорт для загрузки статей, которые затем импортировал в базу данных mediawiki, я использую mysqldb (модуль python для mysql) для запросов к mediawiki. old_text — это большой двоичный объект, а формат текущего состояния можно просмотреть по адресу en.wikipedia.org/wiki/Template:ArticleHistory.   -  person hopeful    schedule 08.07.2011


Ответы (1)


Для Википедии было бы более уместно изучить категории, в которых находится статья. Или, если вы обрабатываете необработанный викитекст, ищите соответствующий шаблон:

  • Избранные статьи (FA) находятся в [[category:Избранные статьи]] и используют {{избранную статью}}, которая ссылается на [[шаблон:избранная статья]]
  • Хорошие статьи (GA) находятся в [[category:Good article]] и используют {{good article}}, который ссылается на [[template:good article]]

Обе эти категории скрыты, поэтому вам нужно включить отображение скрытых категорий или просмотреть содержимое категории, чтобы увидеть, есть ли там статья.

Другие классы статей (A, B, C, FL, Start, Stub, List, undefined) оцениваются на соответствующей странице обсуждения с использованием одного или нескольких шаблонов WikiProject. Стандарта нет.

person wallyk    schedule 08.07.2011