Я пытаюсь извлечь упорядоченный список категорий и их подкатегорий из статьи в Википедии. Эта статья: http://en.wikipedia.org/wiki/Outline_of_academic_disciplines. должны быть динамически закодированы на моем сайте. Я также готов вручную извлечь данные с помощью электронной таблицы (операторы importxml
, importhtml
и т. д.). Тем не менее, я до сих пор не нашел элегантного способа сделать это (извлечение из электронной таблицы или через API) для приведенной выше статьи. (просматривая исходный код, вы можете видеть, что importhtml
с таблицей, поскольку запрос вводит все элементы списка в одну ячейку, а importhtml
со списком, поскольку запрос не различает списки (т.е. нет способа узнать, какие списки являются подсписками какие категории)). Может кто-нибудь дать несколько предложений.
Извлечь данные из статьи в Википедии
comment
Я рекомендую вам прочитать документацию Википедии о написании парсинг-бота, прежде чем заходить слишком далеко.
- person alroc   schedule 02.12.2014
Ответы (1)
В Википедии «Категория» — это специальный термин: чтобы получить категории этой статьи через API, запрос выглядит следующим образом:
http://en.wikipedia.org/w/api.php?format=xml&action=query&prop=categories&titles=Outline%20of%20academic%20disciplines
Но, насколько я могу судить, вам нужны все URL-адреса статей Википедии, которые перечислены в этой таблице.
Это можно сделать несколькими способами: самый простой — взять викикод из статьи (здесь), вставьте его в хороший редактор (я рекомендую Sublime), а затем вы можете использовать Search & Replace, чтобы очистить "[["" и "]]", а также добавить перед каждая статья URL
http://en.wikipedia.org/wiki/
При этом вы можете получить полный список URL-адресов статей, упомянутых на этой странице. Надеюсь, это то, что вы ищете (вы упоминаете какой-то код, но я его не вижу).
person
Aubrey
schedule
19.12.2014