Я пытаюсь очистить несколько веб-страниц, которые должны быть идентичными по макету. Некоторые из них хорошо очищают, а другие возвращают пустые списки. печать содержимого страницы возвращает различные формы гиббери sh.
исходный код настройки:
import csv
import requests
from bs4 import BeautifulSoup
import soupsieve
addresses = ["https://aWebsite.asp?id=1234"]
for a in range(0,len(addresses)):
url = addresses[a]
page = requests.get(url)
Но отсюда я получаю различные формы гиббери sh независимо от того, какая кодировка или функции, которые я использую.
Когда я пытаюсь:
soup = BeautifulSoup(page.content) #or soup = BeautifulSoup(page.content, features="lxml")
cells = soup.select("tr p")
print(soup)
print(cells)
Он печатает:
<html><body><p>‹ ¼XñOܸþ™JïüTR½Y8½+…Mž(P•{TÔëUò&</p></body></html>
[]
Когда я пытаюсь:
soup = BeautifulSoup(page.content, features='html.parser')
cells = soup.select("tr p")
print(soup)
print(cells)
Он печатает: (Я замкнул суповую печать, поскольку она была длинной, но это образец)
5���������/�b뱻��־E�g;�jw��&����Ͻ��a��`~�?]5-�
�����[+�j</em"�p��></m.ﻟ�s)1�3�s�c{uoũⶰ�v^goh�m���;h�></f�g���*></n�`�<7`�ly��x�#tb></ii�����t�>
[]
Когда я пытаюсь:
soup = BeautifulSoup(page.content).get_text().strip().encode("utf-8")
cells = soup.select("tr p")
print(soup)
print(cells)
Он печатает:
b'\xe2\x80\xb9 \xc2\xbc=\xc3\x9br\xc2\xb9r\xc3\x8fR\xc3\x95\xc3\xbe'
Traceback (most recent call last):
File "warn_scrape.py", line 45, in <module>
cells = soup.select("tr p")
AttributeError: 'bytes' object has no attribute 'select'
Когда я пытаюсь:
soup = BeautifulSoup(page.content)
cells = soup.select("tr p").get_text()
print(soup)
print(cells)
Он печатает:
<html><body><p>‹ ¼</p></body></html>
Traceback (most recent call last):
File "warn_scrape.py", line 45, in <module>
cells = soup.select("tr p").get_text()
AttributeError: 'list' object has no attribute 'get_text'
Я пробовал много других способов и комбинаций вышеперечисленного, включая .prettify
и `encode (" ascii ") ', и все они возвращают пустые списки и некоторую форму gibberi sh html