Когда я запускаю скомпилированный скрипт Python, возникает непредвиденная ошибка URLError.

Я работал над программой веб-скрейпинга. Он отлично работает, когда я запускаю его в Pycharm IDE. Однако при компиляции с cx_Freeze я получаю сообщение об ошибке:

urllib.error.URLError: <urlopen error unknown url type: https>

Вот часть моего кода, которая касается обработки URL:

url = f"https://op.gg/summoner/userName={f_username}"
        page_html = urlopen(url)
        page_content = BeautifulSoup(page_html, features="html.parser")

Я искал в Интернете и обнаружил, что ошибка может быть связана с одинарной кавычкой. Однако:

  • Я могу запустить его в IDE
  • Когда я печатаю свой URL-адрес, все в порядке (без одинарных кавычек).

Любая помощь приветствуется. Спасибо!


person Sean Xie    schedule 19.11.2019    source источник
comment
Странный. Что происходит, когда вы запускаете его с помощью Python в своем терминале? Я полагаю, что замена вашей первой строки на это не имеет значения: url = urllib.parse.urljoin("https://op.gg/summoner/", urllib.parse.urlencode({"userName": f_username}))   -  person GordonAitchJay    schedule 26.11.2019
comment
При запуске в терминале ошибок не возникает. Он работает как надо.   -  person Sean Xie    schedule 26.11.2019
comment
stackoverflow .com/questions/27115803/   -  person αԋɱҽԃ αмєяιcαη    schedule 27.11.2019
comment
Ого, надо было сначала поискать дураков. Спасибо!   -  person Sean Xie    schedule 27.11.2019
comment
Так в чем же проблема в итоге? Использование urlencode помогло?   -  person GordonAitchJay    schedule 27.11.2019
comment
Что ж, ошибка исчезла, и я могу запустить скомпилированный скрипт! Спасибо за вашу помощь.   -  person Sean Xie    schedule 27.11.2019


Ответы (1)


В сообщении об ошибке говорится: «неизвестный тип URL: https», поэтому проблема в том, что HTTPS не поддерживается.

https://docs.python.org/3/library/http.client.html говорит: «Поддержка HTTPS доступна только в том случае, если Python был скомпилирован с поддержкой SSL (через модуль ssl)».

person Jacquelin Ch    schedule 27.11.2019