スクレイピング初心者でございます。
netkeiba.comから希望する情報がスクレイピング出来ず、苦慮しております。
python3.6.1
jupyter network
を利用しています。
該当URLのデータをCSVファイルに落とし込むところまでは出来たのですが、
ログイン後だけ取得できる情報が抜け落ちてしまいます。
具体的には、馬場差や出遅れ情報になります。
どのようにすれば、取得できるようになるのでしょうか。
以下、ソースコードになります。
python3.6.1
1# -*- coding: utf8 -*- 2import requests 3import csv 4import urllib 5from bs4 import BeautifulSoup 6from urllib.parse import urljoin 7 8 9def main() -> None: 10 11 url = 'http://db.netkeiba.com/horse/result/2011102151/' 12 13 # メールアドレスとパスワードの指定 14 USER = "***" 15 PASS = "***" 16 17 login_info = { 18 "login_id":USER, 19 "pswd":PASS, 20 } 21 22 # セッションを開始 23 session = requests.session() 24 25 url_login ="https://account.netkeiba.com/?pid=login" 26 27 ses = session.post(url_login, data=login_info) 28 29 res = session.get(url) 30 31 soup = BeautifulSoup(res.content, "html.parser") 32 print(soup.text) 33 34 table = soup.find('table', {'class': 'db_h_race_results nk_tb_common'}) 35 rows = table.find_all("tr") 36 37 csvFile = open("n1.csv", 'wt', newline = '', encoding = 'utf-8') 38 writer = csv.writer(csvFile) 39 40 try: 41 for row in rows: 42 csvRow = [] 43 for cell in row.find_all(['td', 'th', 'a']): 44 csvRow.append(cell.get_text().strip('\n')) 45 writer.writerow(csvRow) 46 finally: 47 csvFile.close() 48 49if __name__ == '__main__': 50 main()

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。