Reputation: 122240
When using the https://pypi.org/project/wikipedia/ API, wikipedia==1.4.0
, it seems that when accessing the page, the library would first do some string processing to alter the inputs, e.g.
import wikipedia
wikipedia.page('Backstreet Boys')
[out]:
PageError Traceback (most recent call last)
Cell In[3], line 1
----> 1 wikipedia.page('Backstreet Boys')
File ~/miniconda3/lib/python3.9/site-packages/wikipedia/wikipedia.py:276, in page(title, pageid, auto_suggest, redirect, preload)
273 except IndexError:
274 # if there is no suggestion or search results, the page doesn't exist
275 raise PageError(title)
--> 276 return WikipediaPage(title, redirect=redirect, preload=preload)
277 elif pageid is not None:
278 return WikipediaPage(pageid=pageid, preload=preload)
File ~/miniconda3/lib/python3.9/site-packages/wikipedia/wikipedia.py:299, in WikipediaPage.__init__(self, title, pageid, redirect, preload, original_title)
296 else:
297 raise ValueError("Either a title or a pageid must be specified")
--> 299 self.__load(redirect=redirect, preload=preload)
301 if preload:
302 for prop in ('content', 'summary', 'images', 'references', 'links', 'sections'):
File ~/miniconda3/lib/python3.9/site-packages/wikipedia/wikipedia.py:345, in WikipediaPage.__load(self, redirect, preload)
343 if 'missing' in page:
344 if hasattr(self, 'title'):
--> 345 raise PageError(self.title)
346 else:
347 raise PageError(pageid=self.pageid)
PageError: Page id "back street boys" does not match any pages. Try another id!
How to disable string processing in wikipedia-1.4.0 API?
Upvotes: 0
Views: 46
Reputation: 782168
Use the auto_suggest
option:
auto_suggest
- let Wikipedia find a valid page title for the query
wikipedia.page('Backstreet Boys', auto_suggest=False)
Upvotes: 1