【问题标题】:An unexpected URLError is raised when I run my compiled Python script运行已编译的 Python 脚本时引发了意外的 URLError
【发布时间】:2019-11-19 03:05:48
【问题描述】:

我一直在开发一个网络抓取程序。当我在 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 中运行它
  • 当我打印我的网址时,它非常好(没有单引号)。

感谢任何帮助。谢谢!

【问题讨论】:

  • 奇怪。当您在终端中使用 Python 运行它时会发生什么?我想用这个替换你的第一行没有什么区别:url = urllib.parse.urljoin("https://op.gg/summoner/", urllib.parse.urlencode({"userName": f_username}))
  • 在终端运行时,不会出现错误。它可以正常工作。
  • 哇,应该先寻找骗子。谢谢!
  • 那么,到底是什么问题呢?使用urlencode 修复了吗?

标签: python url beautifulsoup urllib cx-freeze


【解决方案1】:

错误消息说:“未知的网址类型:https”, 所以问题是不支持HTTPS。

https://docs.python.org/3/library/http.client.html 说: “HTTPS 支持仅在 Python 编译时使用 SSL 支持(通过 ssl 模块)时可用。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2015-08-13
    • 2011-05-31
    • 2019-04-23
    • 1970-01-01
    相关资源
    最近更新 更多