前提・実現したいこと
pythonのBeautiful Soupを用いてスクレイピングを行っております。
用いているサイトはこちら(netkeibaへのリンク)で、実現したいことは、レース表を取得することです。
Chromeのデベロッパーツールを用いてレース表の場所を探し出し、find_all()で適宜条件を指定すれば取得できるはずだと思い実行してみたのですが、なぜかうまくいきません。
取得したいレース表と、該当する階層の画像を以下に添付します。
発生している問題・エラーメッセージ
ホームページ上で確認できる階層にたどり着けない(見つけられない)。
find_all()で検索をしても[]が返ってくる。
取得したい場所は
<dl class="RaceList_DataList">...</dl>
なのですが、find_all()関数では、その場所を見つけることができませんでした。
該当のソースコード
python
1def func(x): 2 http = urllib3.PoolManager() 3 response = http.request('GET',x) 4 5 return BeautifulSoup(response.data, "html.parser") 6 7url = "https://race.netkeiba.com/top/race_list.html?kaisai_date=20200412" 8soup.find_all("dl", class_="RaceList_DataList") 9# 返り値 10# []
試したこと
他にもいくつかの方法で探してみましたが、手がかりは見つかりませんでした。
python
1soup.find_all("div", id="date_list") 2# [<div class="RaceList_Area" id="date_list"></div>]
python
1soup.find_all("div", id="race_list") 2""" 3[<div id="race_list"> 4 <div class="RaceList_Area" id="date_list"></div> 5 <div id="JraDigestPlaceHolder"></div> 6 <div class="Contents_Box Top_RaceDigest" id="JraDigest"></div> 7 <script type="text/javascript"> 8 〜〜省略〜〜 9 </script> 10 <div class="FileLoader"><img alt="" src="https://cdn.netkeiba.com/img.racev3/common/img/common/gif-load.gif?2019080101"/></div> 11 </div>] 12"""
また、selectorを使ってみましたが、同じ結果を返しました。
python
1soup.select('#RaceTopRace > div > dl:nth-child(1)') 2# []
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/26 04:07
2020/04/26 11:07 編集