Что делать чтобы добавить текст в пустой блок 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)
Если в ячейке нет текста, ничего не напечатает