Что делать чтобы добавить текст в пустой блок TD?

Я пытаюсь спарсить сайт с таблицей, в ячейках которой есть пропуски и они не как не парсятся:

import requests

from bs4 import BeautifulSoup

URL = 'https://www.bestfightodds.com/#'
HEADERS = {'user-agent':'Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/78.0.3904.108 Chrome/78.0.3904.108 Safari/537.36', 'accept':'*/*', 'cookie':'bfo_reqdesktop=true; bfo_odds_type=2'}

def get_html(url, params=None):
    
    r = requests.get(url, headers=HEADERS, params=params)
    return r
    
        
def get_content(html):
     soup = BeautifulSoup(html, 'html.parser')
         
     items= soup.find_all('tbody')
     odds = []
     for item in items:
         odds.append((
            item.find('tr', class_="even").text,
            item.find('tr', class_="odd").text
             ))
    
     print(odds)   
    
     for i in odds:
        qq = str(i)
        qq = qq.replace('-', '+')
        q1 = qq.split('+')
        #print(i)
        #print(q1)
        for j in q1: 
            if j[0:3].isdigit() == True:
                print(int(str(j[0:3]))/100+1)
            else:
                print(j)
       # j+=1        
     #print(int(qq[-12:-8])/100+1)# 2 keff

     print(len(odds))
         
def parse():
    html = get_html(URL)
    if html.status_code == 200:
        print('norm')
        
        get_content(html.text)
    else:
        print('Error')

parse()

Что делать чтобы добавить текст в пустой блок TD?


Ответы (1 шт):

Автор решения: Jack_oS
r = requests.get(URL, headers=HEADERS)
soup = BeautifulSoup(r.content, 'html.parser')

tbodies = soup.find_all('tbody')

for tbody in tbodies:
    rows = tbody.find_all('tr')        # найти все строки в таблице
    for row in rows:
        tds = row.find_all('td')       # найти все ячейки в строке
        for td in tds:
            td_text = td.text if td.text else '0'
            print(td_text)

Если в ячейке нет текста, ничего не напечатает

→ Ссылка