Можно ли с помощью python и bs4 спарсить элемент tr в таблице, если у него нету класса, айди и других атрибутов?
Код пока что выглядит следующим образом, но выдаёт пустой словарь:
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
tr_list = soup.find_all('tr')
items = []
for tr in tr_list:
items.append({
'attribute': item.find('td', class_='drawRowBorder').get_text(strip=True)
})
print(items)
Заранее благодарю за ответ
Ответы (1 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
Ну например можно так получить таблицу в датафрейм
import requests
from bs4 import BeautifulSoup as Soup
import pandas as pd
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response_gippo = requests.get('https://boxrec.com/en/ratings',headers=headers)
soup = Soup(response_gippo.content, 'html.parser')
table = soup.find('tbody')
table_rows = table.find_all('tr')
res = []
for tr in table_rows:
td = tr.find_all('td')
row = [tr.text.strip() for tr in td if tr.text.strip()]
if row:
res.append(row)
df = pd.DataFrame(res)
print(df)