use*_*835 2 python wikipedia-api traceback
我最近一直在使用维基百科模块来确定一个随机的维基百科页面。
我一直在用一个非常大的单词列表和 random.choice() 模块来做这个:
words=open("words.txt","r")
words=words.read()
words=words.split()
text=random.choice(words)
string=random.choice(wikipedia.search(text))
p = wikipedia.page(string)
Run Code Online (Sandbox Code Playgroud)
该系统似乎最常工作,但偶尔会出现错误:
Traceback (most recent call last):
File "/home/will/google4.py", line 25, in <module>
p = wikipedia.page(string)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 276, in page
return WikipediaPage(title, redirect=redirect, preload=preload)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 299, in __init__
self.__load(redirect=redirect, preload=preload)
File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 393, in __load
raise DisambiguationError(getattr(self, 'title', page['title']), may_refer_to)
DisambiguationError: "The Scarf" may refer to:
The Scarf (film)
The Scarf (opera)
Scarf (disambiguation)
Arthur Stewart King Scarf
Run Code Online (Sandbox Code Playgroud)
无论如何,我可以绕过它吗?
您可以抓住DisambiguationError并随机选择这些页面之一。
try:
p = wikipedia.page(string)
except wikipedia.DisambiguationError as e:
s = random.choice(e.options)
p = wikipedia.page(s)
Run Code Online (Sandbox Code Playgroud)
见这里:http : //wikipedia.readthedocs.io/en/latest/quickstart.html
| 归档时间: |
|
| 查看次数: |
6271 次 |
| 最近记录: |