import requests, re, bs4
from urllib.parse import urljoin
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_info(link):
soup = make_soup(link)
tds = soup.find_all('td', class_="horse")
if tds:
top = soup.find(class_="top").h2
for s in top.stripped_strings:
print(s)
for index, td in enumerate(tds, 1):
print(index, td.text, sep='\n')
else:
print('not find')
if __name__ == '__main__':
start_url = 'http://www.racingaustralia.horse/'
links = get_links(start_url)
for link in links:
get_info(link)
で
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)
おかげアウト:
Warwick Farm: Australian Turf Club
Wednesday, 18 January 2017
1
GAUGUIN (NZ)
2
DAHOOIL (NZ)
3
METAMORPHIC
4
MY KIND
5
CONCISELY
6
ARAZONA
7
APOLLO
8
IGNITE THE LIGHT
9
KRUPSKAYA
あなたが必要とする情報が含まれていない、あなたはそれをフィルタリングするために正規表現を変更する必要があり、多くのURLがありますこのようにして、コードをより速く実行することができます。
私は上記のコードを書くことで、どのように動作するのか理解できるようになります。他の人にコードを書くよう頼むべきではありません。 –
こんにちは、あなたが私のために書いたコードを実際に適応させていることに気付かれるかもしれません。私はあなたが私のものを変更する前に、かなりのコードを書いていました。これはあまりにも多くを求めている場合私は単にそれを削除します援助を求めるです – Kirsty