Ошибка очистки данных сайта с использованием BS4 - PullRequest
0 голосов
/ 09 июня 2018

Я использую этот фрагмент кода для извлечения данных с сайта.

url = 'https://www.dailythanthi.com/News/Puducherry/2018/06/09020308/Puducherry-budget-will-soon-get-approval--Narayanasamy.vpf'
details = requests.get(url, headers=url_headers )
encoding = details.encoding if 'charset' in details.headers.get('content-type', '').lower() else None
details_data = BeautifulSoup(details.content, "lxml", from_encoding=encoding)
# Remove all script tags
[s.extract() for s in details_data('script')]
details_div = details_data.find("div", {"id": "ArticleDetailContent"})
details_image = details_image_src.img['src']
details_text = []
paras = details_div.find_all("p")
for para in paras:
    details_text.append(para.get_text())

details_text = ''.join(details_text)

И запись их в файл с использованием

with open("thanthi.csv", "w") as out_file:
    writer = csv.writer(out_file)
    writer.writerow(["Description"])
    writer.writerows([details_text])

И это с ошибкой, говорящей

       writer.writerows(articles)
            UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-

4: ordinal not in range(128)

Я не уверен, почему это не удается.Даже я пытался unicode их, используя метод .encode ('utf8') детали, и ошибка все еще происходит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...