я в настоящее время имеют следующие строки кодаЗачистка Таблица и печать различных данных
import requests, re, bs4
from urllib.parse import urljoin
start_url = 'http://www.racingaustralia.horse/'
def make_soup(url):
r = requests.get(url)
soup = bs4.BeautifulSoup(r.text,"lxml")
return soup
def get_links(url):
soup = make_soup(url)
a_tags = soup.find_all('a', href=re.compile(r"^/FreeFields/"))
links = [urljoin(start_url,a['href']) for a in a_tags]
return links
def get_tds(link):
soup = make_soup(link)
tds = soup.find_all('td', class_="horse")
for td in tds:
print(td.text)
if __name__ == '__main__':
links = get_links(start_url)
for link in links:
get_tds(link)
скребущий все имена лошадей для встреч в таблице с racingaustralia.com/horse
Это именно то, что я хочу но я также хочу получить дату встречи, место встречи и каждую гонку, перечислить имя лошади.
Это пример того, что я хотел:
Date of Race Meet
Location of Race Meet
Race Number
Horse....
...
...
...
Race Number
Horse
...
...
etc
ли кто-то сможет помочь мне настроить код так, чтобы дата и место каждой расы встречаются в печати, а также количества гонки для каждая лошадь?
Я попытался сделать следующее, но мне было интересно, был ли более эффективный способ сделать это.
def get_tds(link):
soup = make_soup(link)
race_date = soup.find_all('span', class_="race-venue-date")
for span in race_date:
print(span.text)
tds = soup.find_all('td', class_="horse")
for td in tds:
print(td.text)
def get_info(link):
item = soup.find_all('div', class_="top")
for div in item:
print(div.text)
if __name__ == '__main__':
links = get_links(start_url)
for link in links:
get_info(link), get_tds(link)
Заранее спасибо
Я пишу код выше, чтобы вы могли понять, как это работает, вы не должны просить других людей писать код для вас. –
Привет, вы, возможно, заметили, что я действительно адаптировал код, который вы написали для меня. Я также написал хороший код, прежде чем вы изменили то, что у меня было. Я просто прошу о помощи, если это слишком много, я удалю его – Kirsty