Как получить закодированные числа на веб-странице? - PullRequest
0 голосов
/ 04 августа 2020

Я хочу, чтобы числа на веб-странице были красного цвета, но я получил закодированную строку.

Вот мой код:

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 '.

Как получить правильные числа?

Спасибо.

1 Ответ

1 голос
/ 04 августа 2020

Вы извлекаете правильные данные со страницы, но проблема связана с визуализацией данных из-за отсутствия семейства шрифтов. Исключенные данные содержат некоторые символы Unicode, которые обычно не доступны в большинстве распространенных семейств шрифтов. Таким образом, вы можете правильно просмотреть эти данные, установив тот же шрифт, который используется на этом сайте.

Из инструментов разработчика chrome вы можете легко определить, что этот сайт использует следующие два URL-адреса для связи шрифты:

Просто скачайте эти шрифты и установите их в системе, в которой вы хотите визуализировать эти данные, и если вы собираетесь использовать их на веб-странице, вам необходимо связать эти шрифты в своих таблицах стилей.

Чтобы установить эти шрифты в моей Arch Linux, Я скачал эти файлы и скопировал их в ~/.local/share/fonts/. А затем я выполнил команду fc-cache, чтобы обновить кеш шрифтов в моей системе.

После установки этих шрифтов я добавил этот шрифт в качестве резервного шрифта в редакторе кода Visual Studio, после чего я смог увидеть эти символы. должным образом. Прикрепил скриншот для справки:

enter image description here

For PyCharm, navigate to File > Settings. There search for Console Font or navigate to Editor > Color Scheme > Console Font. There set my_default_c as your fallback font and tick the option Enable font ligatures. Now, execute this script from Pycharm, it will load the proper fonts in console output as shown in the screenshot:

введите описание изображения здесь

...