【发布时间】:2019-03-22 14:19:10
【问题描述】:
我正在尝试学习 Python,所以我想我会先尝试查询 IMDB 以对照 IMDB 检查我的电影收藏;进展顺利????
我坚持的是如何处理名称中的特殊字符,并将名称编码为 URL 将尊重的内容。
例如我有电影Brüno
如果我使用 urllib.parse.quote 对字符串进行编码,我得到 - Bru%CC%88no,这意味着当我使用 OMDBAPI 查询 IMDB 时,它无法找到电影。如果我通过 OMDBAPI 站点进行搜索,他们会将名称编码为 Br%C3%BCno,并且此搜索有效。
我假设编码使用的是不同的标准,但我无法确定我需要做什么
【问题讨论】:
-
这实际上是 IMDB 的一个错误(当然,这不会立即帮助 你)。
-
@KonradRudolph - 只是出于好奇,为什么这会被视为 IMDB 方面的错误?是否有标准或其他原因不应该在 url 编码中使用 NFC 形式?
-
@benvc 搜索 API 不应假定任何一个输入规范化,而是执行自己的规范化,或者以其他方式确保无论输入如何规范化都能找到相关结果:Unicode 标准在this: “Brüno” = “Brüno”,即使第一个字符串使用专用代码点,而第二个字符串使用组合变音符号。比较必须发生在字素簇的级别,而不是字节或代码点的级别。
-
@KonradRudolph - 有道理,感谢您花时间解释。
标签: python python-3.x urlencode omdbapi