#python #html #web-scraping #beautifulsoup
#python #HTML #очистка веб-страниц #beautifulsoup
Вопрос:
Я пытаюсь удалить коэффициенты ставок с сайта. В настоящее время мой код может вывести последнее нечетное число игры, но не все. Есть идеи о том, что я делаю неправильно?
from bs4 import BeautifulSoup
from urllib.request import urlopen as uReq
my_url = 'https://www.sportsbet.com.au/betting/australian-rules'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
soup = BeautifulSoup(page_html, "html.parser")
price_texts = soup.findAll("div",{"class":"priceText_f71sibe"})
filename = "odds.csv"
f = open(filename,"w")
headers = "odds team 1n"
f.write(headers)
for price_text in price_texts:
odds = price_text.span.text
print("odds are: " odds)
f.write(odds)
f.close()
Ответ №1:
Конечно, он печатает только последние коэффициенты, поскольку вы пишете раздел print
and f.write()
вне for
цикла. odds
Значение будет меняться каждый раз, пока цикл не остановится. Вы должны сделать их внутри цикла, добавив отступ в print
и f.write(odds)
:
for price_text in price_texts:
odds = price_text.span.text
print("odds are: " odds)
f.write(odds)
Комментарии:
1. Черт возьми, это было так просто. Спасибо