python スクレイピング for文が分かりません
プログラミング初心者です。
pythonで競艇の結果をスクレイピングをしたく、以下のようにしました。
7月25日~27日・戸田&桐生・1レース~3レースの結果を得たいと思います。
しかし、3レース分の結果しか得られませんでした。
ちなみに25日は戸田はお休みのためデータがありませんので、
「データなし」と表示したいのですが、どうすれば良いでしょうか。
import
1import lxml.html 2import time 3 4#レース場コード桐生=1、戸田=2 5TC = ['1','2'] 6 7#レースナンバー1~3 8RN = ['1','2','3'] 9 10#日付データを取得する 11DT = ['20190725','20190726','20190727'] 12 13#3つの変数を繰り返す 14for racenum in RN: 15 for date in DT: 16 for trackcode in TC: 17 18# HTMLソースを得る 19 url = "https://www.boatrace.jp/owpc/pc/race/raceresult?rno=" + (str(racenum)) + "&jcd=0"+(str(trackcode))+"&hd="+ (str(date)) 20 r = requests.get(url) 21 html = r.text 22 23# HTMLをHtmlElementオブジェクトにする 24 root = lxml.html.fromstring(html) 25 26#3連単の払い戻し 27 rt3 = root.xpath("/html/body/main/div/div/div/div[2]/div[5]/div[1]/div/table/tbody[1]/tr[1]/td[3]/span") 28 29 print(rt3[0].text) 30 31 time.sleep(2) 32 33#なぜか7月25日の戸田 1、2,3レースしかとれない 34 35コード
コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/08 23:56
2019/08/09 04:42