Python维基百科库

Python维基百科库,python,wikipedia-api,Python,Wikipedia Api,我正在使用python库Wikipedia解析数据。当它到达代码的第二部分时,我得到了页面错误 更新 我能够解析页面数据,但计数时出现类型错误 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 你到底遇到了哪一个页面错误 根据维基百科文档: 但是请注意-wi

我正在使用python库Wikipedia解析数据。当它到达代码的第二部分时,我得到了页面错误

更新 我能够解析页面数据,但计数时出现类型错误

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

你到底遇到了哪一个页面错误

根据维基百科文档:

但是请注意-wikipedia.summary将在页面为消歧页面时引发消歧错误,或者在页面不存在时引发页面错误(尽管默认情况下,它会尝试通过“建议和搜索”查找您想要的页面):


您的程序存在多个问题。这是一个更新的程序,修复并标记了错误

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
导入维基百科
打印(“1:在维基百科上搜索‘雷克萨斯’”)
尝试:
打印(wikipedia.page('Lexus'))
打印('-'*60)
除wikipedia.exceptions.DisambizationError外,错误为e:
打印(str(e))
打印(+'+'*60)
打印('消歧错误:页面名称不明确')
打印
打印(“2:在维基百科上搜索“雷克萨斯(公司)”)
结果=wikipedia.page('Lexus(公司)')
#错误;页面名称以空格分隔,不带下划线
#页面错误,因为找不到页面。
打印(结果)
打印
result=result.content
打印(“3:在维基百科上搜索“雷克萨斯(公司)”的结果:”)
打印(结果)
打印
雷克萨斯计数=结果计数(“雷克萨斯”)
#将变量名从orange_count->lexus_count更改为下面的打印函数中引用的变量名。
#您正在计算“lexus”,因为此函数区分大小写,所以您将找不到任何实例。
打印
打印(“雷克萨斯(公司)”的维基百科页面有”+\
“{}单词‘Lexus’的出现次数。格式(Lexus_计数))
打印

希望这有帮助

请复制并粘贴问题中的错误,而不是发布文本图像。当我在维基百科上搜索雷克萨斯(公司)时,结果显示:“雷克萨斯(公司)”页面不存在。你可以要求它被创建,但是考虑检查下面的搜索结果,看看这个主题是否已经被覆盖了。sense@M_S是的,有一个python3.7软件包。
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