Проблема с кодировками на сайта
Решил я получать данные от гугл по зараженным, но не тут то было. Хотя у них указана кодировка UTF-8 на странице, но видимо это не совсем так. Что делать, даже не знаю. Encode, decode разные уже пробовал. Онлайн кодировщики все выдают разные кодировки, а некоторые вапще отказываются определять кодировку текста. Вот мой код, может я делаю что то не так.
headers = {"User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"}
page_link = "https://google.com/covid19-map/?hl=ru"
page_response = requests.get(page_link, headers = headers)
print(page_response.content)
page_content = BeautifulSoup(page_response.content, "lxml")
content_table = page_content.find("table",{"class": "SAGQRd"})
tbody = content_table.find("tbody")
content = tbody.findAll("tr")
for i in content:
sub_content = i.findAll("td")
a = 0
while a < 5:
if a == 0:
print("\n\n" + str(sub_content[a].find("span")))
else:
newtext = (sub_content[a].getText()).replace(chr(160), ",")
print(newtext)
a = a + 1
Проблема чаще всего в span блоках (такая же ситуация на сайте 2gis)
Ответы (1 шт):
Проблема была там, где я этого сам не ожидал. Я использовал для запуска файла git bash, там кодировка по умолчанию другая. Если запускать через powershell или в linux, то все нормально. В таком случае обрабатывать nbsp тоже не нужно, так что необходимость в коде
.replace(chr(160), ",")
тоже отпадает