AttributeError: 'list' object has no attribute 'keys'
keysが辞書型なので、エラーが起きている
ではなく、
listオブジェクトがkeyアトリビュートを持っていない
と書かれているのですが...
見た感じrace_resultsがそもそもlist型なので以下の感じで書けると思いますよ
if race_id in race_results:
0Like
Pythonでスクレイピングツールを作成しています。
URLがIDで管理されているサイトで
import time
from tqdm import tqdm, tqdm_notebook
def scrape_race_results(race_id_list,pre_race_results=[]):
race_results=pre_race_results
for race_id in tqdm(race_id_list):
if race_id in race_results.keys():
continue
try:
url = 'https://db.netkeiba.com/race/'+ race_id
race_results.append(pd.read_html(url,header=0)[0])
time.sleep(1)
except:
break
return race_results
for place in range(1,11,1):
for kai in range(1,6,1):
for day in range(1,9,1):
for r in range(1,13,1):
race_id = '2020'+str(place).zfill(2) + str(kai).zfill(2) + str(day).zfill(2) + str(r).zfill(2)
race_id_list.append(race_id)
test2 = scrape_race_results(race_id_list,test)
こちらを実行したところ
AttributeError Traceback (most recent call last)
<ipython-input-124-8c899e53e993> in <module>
----> 1 test2 = scrape_race_results(race_id_list,test)
<ipython-input-121-9b788cfd6530> in scrape_race_results(race_id_list, pre_race_results)
5 race_results=pre_race_results
6 for race_id in tqdm(race_id_list):
----> 7 if race_id in race_results.keys:
8 continue
9 try:
AttributeError: 'list' object has no attribute 'keys'
if race_id in race_results.keys():
読み解くと、keysが辞書型なので、エラーが起きているのだと思います。
このif文にリスト型でキーになる文章を入れたいのですが、どうすれば良いのでしょうか?
AttributeError: 'list' object has no attribute 'keys'
keysが辞書型なので、エラーが起きている
ではなく、
listオブジェクトがkeyアトリビュートを持っていない
と書かれているのですが...
見た感じrace_resultsがそもそもlist型なので以下の感じで書けると思いますよ
if race_id in race_results:
@genki-mii
Questioner