前提・実現したいこと
jupyter notebookが原因の問題なのかpythonのプログラミングの問題かわからないのですが、
上記の画像のように、horse_page_link()の後にget_race_data()を書くと、画像のようにget_race_data()でエラーが出ます。
しかし、別のノートブックを作り、下記の様にget_race_data()の後にhorse_page_link()を書くと
このようにhorse_page_link()が正常に動作しなくなります。
どちらの関数も正常に動作させる方法が知りたいです。よろしくお願いいたします。
※どこが原因になっているかわからないため、ほぼ全文を載せています。見にくくなっていますがよろしくお願いいたします
・上の画像のコード
python
1import requests 2from bs4 import BeautifulSoup 3import pandas as pd 4import re 5url = 'https://www.nankankeiba.com/race_info/2018092518070211.do' 6 7def url_to_soup(url): 8 req = requests.get(url) 9 10 return BeautifulSoup(req.content, 'html.parser') 11 12soup = url_to_soup(url) 13 14def horse_page_link(url): 15 link_list = ['https://www.nankankeiba.com'+x.get('href') for x in soup.find_all('a', class_='tx-mid tx-low')] 16 17 return link_list 18 19def get_race_data(url): 20 going_ = soup.find(id="race-data02").get_text().replace('\n','').split(';')[1].split(' ')[2][0:2]#予想レースの馬場状態 21 wether_ = soup.find(id="race-data02").get_text().replace('\n','').split(';')[1].split(' ')[2][3]#予想レースの天候 22 len_ = int(soup.find(id="race-data01-a").get_text().replace('\n','').split(' ')[3].replace(',','')[1:5])#予想レースの距離 23 24 25 wps_list=[]#予想レースの1,2,3位 26 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-1chaku')[0]).split('</td>')[2]).replace('\n',''))) 27 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-2chaku')[0]).split('</td>')[2]).replace('\n',''))) 28 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-3chaku')[0]).split('</td>')[2]).replace('\n',''))) 29 30 return going_, wether_, len_, wps_list 31
・下の画像のコード
python
1import requests 2from bs4 import BeautifulSoup 3import re 4import pandas as pd 5url = 'https://www.nankankeiba.com/result/2018092518070211.do' 6 7def url_to_soup(url): 8 req = requests.get(url) 9 return BeautifulSoup(req.content, 'html.parser') 10 11soup = url_to_soup(url) 12 13def get_race_data(url): 14 going_ = soup.find(id="race-data02").get_text().replace('\n','').split(';')[1].split(' ')[2][0:2]#予想レースの馬場状態 15 wether_ = soup.find(id="race-data02").get_text().replace('\n','').split(';')[1].split(' ')[2][3]#予想レースの天候 16 len_ = int(soup.find(id="race-data01-a").get_text().replace('\n','').split(' ')[3].replace(',','')[1:5])#予想レースの距離 17 18 19 wps_list=[]#予想レースの1,2,3位 20 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-1chaku')[0]).split('</td>')[2]).replace('\n',''))) 21 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-2chaku')[0]).split('</td>')[2]).replace('\n',''))) 22 wps_list.append(int(re.sub('\<.*?\>','',str(soup.find_all('tr', class_='bg-3chaku')[0]).split('</td>')[2]).replace('\n',''))) 23 24 return going_, wether_, len_, wps_list 25 26def horse_page_link(url): 27 link_list = ['https://www.nankankeiba.com'+x.get('href') for x in soup.find_all('a', class_='tx-mid tx-low')] 28 29 return link_list
回答1件
あなたの回答
tips
プレビュー