小编ale*_*n13的帖子

Unicode 字符 Ú 和 É 错误地显示为 š 和 ê

我有一个包含西班牙语文本的 UTF-8 文件,某些带有重音符号的单词在某些软件中显示不正确。

\n\n

我相信我的文件是正确的。例如,名称“JES\xc3\x9aS\”被编码为4A 45 53 C3 9A 53.

\n\n
>>> b\'\\x4A\\x45\\x53\\xC3\\x9A\\x53\'.decode(\'utf-8\')\n\'JES\xc3\x9aS\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

c39a\\u00da根据http://www.fileformat.info/info/unicode/char/00da/index.htm ,是 的正确 UTF-8 编码。

\n\n

那么,为什么有些软件渲染不正确呢?

\n

python unicode utf-8 mojibake

2
推荐指数
1
解决办法
7211
查看次数

Scrapy Splash单击按钮不起作用

我想做什么

在avito.ru(俄罗斯房地产网站)上,隐藏人的电话,直到您单击它为止。我想使用Scrapy + Splash收集电话。

范例网址:https//www.avito.ru/moskva/kvartiry/2-k_kvartira_84_m_412_et._992361048

屏幕截图:电话被隐藏

单击按钮后,将显示弹出窗口,并且可以看到电话。

在此处输入图片说明

我使用带有以下Lua脚本的Splash execute API:

function main(splash)
    splash:go(splash.args.url)
    splash:wait(10)
    splash:runjs("document.getElementsByClassName('item-phone-button')[0].click()")
    splash:wait(10)
    return splash:png()
end
Run Code Online (Sandbox Code Playgroud)

问题

未单击该按钮,也不显示电话号码。这是一项微不足道的任务,我无法解释为什么它不起作用。

如果将替换item-phone-button为,则单击可以在同一页面上的其他字段上正常使用js-show-stat。因此,在一般情况下,Javascript 和蓝色的“显示电话”按钮必须具有某种特殊性。

我尝试过的

为了隔离问题,我创建了一个包含最少示例脚本的存储库和用于Splash的docker-compose文件:https : //github.com/alexanderlukanin13/splash-avito-phone

Javascript代码有效,您可以使用Chrome和Firefox中的Javascript控制台进行验证

document.getElementsByClassName('item-phone-button')[0].click()
Run Code Online (Sandbox Code Playgroud)

我已经在Splash 3.0、3.1、3.2版本中尝试过,结果是一样的。

更新资料

我也尝试过:

python scrapy splash-js-render

1
推荐指数
1
解决办法
3050
查看次数

标签 统计

python ×2

mojibake ×1

scrapy ×1

splash-js-render ×1

unicode ×1

utf-8 ×1