如何获取网页中的编码数字?

How to get the encoded numbers in webpage?

我想获取网页中红色的数字,但我得到的是编码字符串。

这是我的代码:

import requests
from bs4 import BeautifulSoup
res = requests.get('https://m.3fang.com/3f/land/zpg/detail/fc8e0948-2a63-449b-886b-2a54269b1498/b/370724.html', headers={'user-agent':'abc'})
soup = BeautifulSoup(res.text, 'lxml')
print(soup.find('p',{'class':'imp-num'}).text)

而不是 2491.00,我得到了 '\U000de4f7\U000da5fb\U000d4dfa\U000d1fae.\U000d7c4e\U000d7c4e㎡\n '

如何得到正确的数字?

谢谢。

您正在从页面中提取正确的数据,但由于缺少字体系列而导致数据呈现出现问题。抓取的数据有一些 Unicode 字符,这些字符在大多数常见字体系列中并不常见。 因此,您可以通过安装与该网站使用的字体相同的字体来正确查看这些数据。

从 chrome 开发人员工具中,您可以轻松识别该站点正在使用以下两个 URL 访问 link 字体:

只需下载这些字体并将它们安装在您想要可视化此数据的系统上,如果您打算在网页上使用它,则需要 link 在您的样式表中使用这些字体。

为了在我的 arch Linux 上安装这些字体,我下载了这些文件并将它们复制到 ~/.local/share/fonts/。然后我执行了 fc-cache 命令来更新我系统上的字体缓存。

安装这些字体后,我在 Visual Studio 代码编辑器上添加了该字体作为后备字体,之后我能够正确地看到这些字符。附上截图供参考:

对于 PyCharm,导航至 File > Settings。在那里搜索 Console Font 或导航至 Editor > Color Scheme > Console Font。将 my_default_c 设置为后备字体并勾选 Enable font ligatures 选项。现在,从 Pycharm 执行此脚本,它将在控制台输出中加载正确的字体,如屏幕截图所示: