В настоящее время я пытаюсь извлечь содержимое данной страницы Википедии в простой текстовый файл. Используя XPath, у меня есть код, который делает это отлично. Однако есть только одна простая проблема: некоторые страницы в Википедии являются страницами для устранения неоднозначности.
Теперь, это само по себе не драматично. Я написал выражение XPath, которое получает первую ссылку на страницу устранения неоднозначности в Википедии: (/html/body/div[@id='content']/div[@id='bodyContent']//a[starts-with(@href, '/wiki')]/@href)[1]
. Это означает, что я могу просто использовать эту первую ссылку в качестве страницы, с которой я пытаюсь получить контент.
Нет, реальная проблема в том, что я не нашел способа узнать , когда использовать этот код (тот, который извлекает первую ссылку со страницы неоднозначности) или другой фрагмент кода ( тот, который напрямую получает контент с интересной страницы, без неоднозначности). Действительно, я не могу найти способ отличить неоднозначную страницу от обычной.
Пока что я пробовал:
Глядя на источник неоднозначной страницы и сравнивая ее с обычной страницей: я не могу найти разницу.
Глядя на контент на обоих типах страниц: здесь единственное отличие состоит в том, что на некоторых страницах написано «Эта страница может ссылаться» вверху. Однако не все страницы на самом деле упоминают об этом.
Простым решением было бы посмотреть заголовок страницы (например, http://en.wikipedia.org/wiki/Boston_(disambiguation)). Однако не все страницы с неоднозначными значениями содержат слово «устранение неоднозначности» в заголовке: http://en.wikipedia.org/wiki/Freedom.
Итак, в заключение, кто-нибудь знает, как отличить страницы неоднозначности Википедии от страниц Википедии с реальным содержанием?
РЕДАКТИРОВАТЬ: Это на самом деле не имеет отношения к вопросу, но я программирую в Objective-C.