Я использую python3 и beautifulsoup для удаления веб, но я получил эту ошибку.Я пытался исправить это, используя решения, приведенные в других ответах, но ни один не решает мою проблему.
# -*- coding: utf-8 -*-
import os
import locale
os.environ["PYTHONIOENCODING"] = "utf-8"
myLocale=locale.setlocale(category=locale.LC_ALL, locale="en_GB.UTF-8")
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import pandas as pd
def getrank (animeurl):
html = urlopen(animeurl)
bslink = BeautifulSoup(html.read(), 'html.parser')
rank = bslink.find('span', {'class' : 'numbers ranked'}).get_text().replace('Ranked #', '')
def spring19():
html = urlopen('https://...')
bs = BeautifulSoup(html.read(), 'html.parser')
link = []
for x in bs.find_all('a', {'class' : 'link-title'}):
link.append(x.get("href"))
ranklist = []
for x in link:
x.encode(encoding='UTF-8',errors='ignore')
ranklist.append(getrank(x))
return ranklist
spring19()
сообщение об ошибке: UnicodeEncodeError: кодек «ascii» не может кодировать символ «\ u2159» в позиции 32: порядковый номер не в диапазоне (128)
Причина, по которой эта ошибка появилась, заключается в том, что в URL-адресах, которые я удалил, есть несколько символов.Но я до сих пор не знаю, как мне это исправить.
Большое спасибо!