Wikipedia icon indicating copy to clipboard operation
Wikipedia copied to clipboard

Unicode URI wikipedia.exceptions.PageError: Page id does not match any pages. Try another id

Open msj2 opened this issue 7 years ago • 3 comments

Hi, I'm on python 2.7 Ubuntu

I am trying to open a valid wiki page https://hi.wikipedia.org/wiki/%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE)

as below # encoding=utf-8 import wikipedia om1 = wikipedia.page("https://hi.wikipedia.org/wiki/%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE")

I am getting error, ..

Traceback (most recent call last): File "test_wikipedia_pip.py", line 3, in om1 = wikipedia.page("https://hi.wikipedia.org/wiki/%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE") File "/usr/local/lib/python2.7/dist-packages/wikipedia/wikipedia.py", line 275, in page raise PageError(title) wikipedia.exceptions.PageError: Page id "https://hi.wikipedia.org/wiki/%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE" does not match any pages. Try another id!

help me.

msj2 avatar Sep 22 '18 03:09 msj2

as far as i know youre not supposed to pass a URL into wikipedia.page()

try removing hhtps://hi.wikipedia.org/wiki/ and only use the characters after that

laundmo avatar Sep 25 '18 07:09 laundmo

Thanks Laundmo forswift response.

Tried it Sir, I wasn't even to get past the PageError: PageError()

I did try as below, try: lnk = wikipedia.page("%E0%A4%A8%E0%A4%AE%E0%A4%95_%E0%A4%B9%E0%A4%B2%E0%A4%BE%E0%A4%B2_(1982_%E0%A4%AB%E0%A4%BC%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%AE") except PageError as e: print e, type(e) NameError: "name 'PageError' is not defined"

Hence, I was fiddling with pass entire URL.

msj2 avatar Sep 26 '18 03:09 msj2

@msj2 : If you can use Python 3, you can try to to use Wikipedia-API. It suports page names encoded for URL.

w = wikipediaapi.Wikipedia('hi')

p_encoded = w.page(
    title='%E0%A4%AA%E0%A4%BE%E0%A4%87%E0%A4%A5%E0%A4%A8',
    unquote=True,
)
print(p_encoded.summary)

p_decoded = w.page(
    title='पाइथन'
)
print(p_decoded.summary)

martin-majlis avatar Jan 27 '19 11:01 martin-majlis