Python 3 очистить веб-страницу с BeautifulSoup, вызывая UnicodeDecodeError - PullRequest
0 голосов
/ 13 марта 2020

Я занимаюсь личным проектом. Я пытаюсь разобрать веб-страницу. К сожалению, я не осознавал, что очистка веб-сайта может приостановить ваш доступ к веб-странице. Я сделал локальные копии сайта, используя hide.me, но, очевидно, он добавил информацию, которая затрудняет чтение BeautifulSoup. Это мой код:

def pull_safe(location):
url = (os.getcwd())+'/HTML_SOURCES/'+location
page = open(url,encoding="ascii")
soup = BeautifulSoup(page, "html.parser", exclude_encodings=["ascii"])
hospital = list()
templist = list()
tempcount = 0
for td in soup.find('div', {'class':'report'}).parent.find_all('td'):
    if tempcount !=5:
        templist.append(td.text)
        tempcount+=1
    else:
        templist.append(td.text)
        hospital.append(templist)
        templist = list()
        tempcount = 0
return hospital

, и это исключение, которое я получаю:

Traceback (most recent call last):


File "/home/memeputer/Documents/Projects/NYC Hospital Bed count/main.py", line 51, in <module>
    g = pull_safe(item)
  File "/home/memeputer/Documents/Projects/NYC Hospital Bed count/main.py", line 17, in pull_safe
    soup = BeautifulSoup(page, "html.parser", exclude_encodings=["utf-8"])
  File "/home/memeputer/Documents/Projects/NYC Hospital Bed count/venv/lib/python3.8/site-packages/bs4/__init__.py", line 286, in __init__
    markup = markup.read()
  File "/usr/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in position 59903: invalid start byte

Любая помощь приветствуется.

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