Я следовал некоторым руководствам, чтобы собрать воедино этот бит python
import requests
import sys
from bs4 import BeautifulSoup
url = requests.get(sys.argv[1])
html = BeautifulSoup(url.content,'html.parser')
for br in html.find_all("br"):
br.replace_with(" ")
for tr in html.find_all('tr'):
data = []
for td in tr.find_all('td'):
data.append(td.text.strip())
if data:
print("{}".format(','.join(data)))
В Windows он работает так, как я ожидаю.
В Linux Я получаю
Traceback (most recent call last):
File "html2csv.py", line 19, in <module>
print("{}".format(','.join(data)))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 4: ordinal not in range(128)
Что мне нужно изменить в моем скрипте, чтобы предотвратить это? Я читал, что вы можете игнорировать проблемные символы, но некоторые говорят, что это не правильный способ сделать это? Не уверен, как реализовать какое-либо решение, которое я нашел в том, что у меня есть.