2017-02-22 16 views
0

Я использую библиотеку python Wikipedia для анализа данных. Когда он попадает ко второй части кода, я получаю ошибки страницы. Page ErrorsPython Библиотека Википедии

import wikipedia 


print ("1: Searching Wikipedia for 'List of Lexus vehicles'") 
try: 
    print (wikipedia.page('List of Lexus')) 
    print ('-' * 60) 
except wikipedia.exceptions.DisambiguationError as e: 
    print (str(e)) 
    print ('+' * 60) 
    print ('DisambiguationError: The page name is ambiguous') 
print 


print ("2: Searching Wikipedia for 'List of Lexus (vehicles)'") 
print (wikipedia.page('List of Lexus_(vehicles)')) 
print 


result = wikipedia.page('List of Lexus_(vehicles)').content.encode('UTF8') 
print ("3: Result of searching Wikipedia for 'List of Lexus_(vehicles)':") 
print (result) 
print 

lexus_count = result.count('ct','lfa','rx') 
print 


print ("The Wikipedia page for 'Lexus_(company)' has " + \ 
    "{} occurrences of the word 'Lexus'".format(lexus_count)) 
print 

Обновлено Я могу разобрать данные страницы, но получаю сообщение об ошибке типа на кол

23 print 
24 
25 lexus_count = result.count('ct','lfa','rx') 
26 print 
TypError: slice indices must be integers or None or have an __index__ method 
+1

Скопируйте и вставьте ошибки, которые вы получаете в свой вопрос, вместо публикации изображения текста. – jwodder

+1

Хорошо, когда я ищу Lexus (компания) в Википедии, результат гласит: «Страница« Lexus (компания) »не существует. Вы можете попросить его создать, но подумайте о проверке результатов поиска ниже, чтобы узнать, охвачена ли тема. ' Таким образом, сообщение об ошибке имеет смысл – smoggers

ответ

0

Было много проблем с вашей программой. Вот обновленная программа с исправленными и отмеченными ошибками.

import wikipedia 


print ("1: Searching Wikipedia for 'Lexus'") 
try: 
    print (wikipedia.page('Lexus')) 
    print ('-' * 60) 
except wikipedia.exceptions.DisambiguationError as e: 
    print (str(e)) 
    print ('+' * 60) 
    print ('DisambiguationError: The page name is ambiguous') 
print 


print ("2: Searching Wikipedia for 'Lexus (company)'") 
result = wikipedia.page('Lexus (company)') 
# ERR; PAGE NAME SEPARATED BY SPACE NOT WITH AN UNDERSCORE 
# <> PAGE ERROR AS PAGE WILL NOT BE FOUND. 
print (result) 
print 


result = result.content 
print ("3: Result of searching Wikipedia for 'Lexus_(company)':") 
print (result) 
print 

lexus_count = result.count('Lexus') 
# changed variable name from orange_count -> lexus_count, as referenced in the print function below. 
# you were counting for 'lexus' you will not find any occurrences as this function is case sensitive. 
print 


print ("The Wikipedia page for 'Lexus_(company)' has " + \ 
    "{} occurrences of the word 'Lexus'".format(lexus_count)) 
print 

Надеюсь, это поможет.

0

Какая страница ошибки именно вы получаете?

Согласно документации википедии: https://wikipedia.readthedocs.io/en/latest/quickstart.html#quickstart

Но берегитесь - wikipedia.summary поднимет DisambiguationError если страница является страницей неоднозначности или PageError, если страница не существует (хотя по умолчанию , он пытается найти страницу, которую вы имели в виду, с предложением и поиском.):

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

  • Нет связанных вопросов^_^