Можно ли с помощью 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)
→ Ссылка