BeautifulSoup original_encoding не возвращает ни одного - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь выполнить поиск ниже URL, которого я на самом деле достиг. Однако содержимое не читается из-за символов Turki sh, а кодировка страницы возвращает None.

Есть идеи, как это исправить?

from bs4 import BeautifulSoup
import requests

url = 'https://www.digiturk.com.tr/yayin-akisi/api/kanal/liste/326'
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, "html.parser")
print(soup.original_encoding)

1 Ответ

0 голосов
/ 22 апреля 2020

Поскольку BeautifulSoup иногда не может идентифицировать кодировку, попробуйте следующий код, чтобы найти кодировку, используя chardet -

import urllib.request
rawdata = urllib.request.urlopen('http://yahoo.co.jp/').read()
import chardet
chardet.detect(rawdata)

После нахождения кодировки, передайте это как BeautifulSoup в вашем коде -

soup = BeautifulSoup(html_content, "html.parser", from_encoding= "found_encoding")

Подробнее о кодировке BeautifulSoup здесь

...