###前提・実現したいこと
python超初心者でございます。
競馬情報をスクレイピングしておりますが、うまくいかず苦慮しております。
###発生している問題・エラーメッセージ
エラーではございませんが、結果が[]だけになります。 C:\Users\satoru\horse>race-scan.py []
###該当のソースコード
-- coding:utf-8 --
import urllib2
import codecs
from bs4 import BeautifulSoup
url='http://race.netkeiba.com/?pid=speed&id=c201604020801'
soup = BeautifulSoup(urllib2.urlopen(url).read(),"lxml")
tr_arr1 = soup.select("table.race_table_01")
print tr_arr1
#↑print tr_arr1の結果は[]でした。
###試したこと
スクレイピングにおきまして、soup.select以下のスクリプトを考えるときは、先輩方の御教示により、対象のurlのソースコードを見て、先ずは大枠を考えるようにしております。
(成功例1)
<table cellpadding="0" cellspacing="1" summary="サイレンススズカの競走戦績" class="db_h_race_results nk_tb_common">↑のソースコードを根拠に下記のようにスクリプトを決めました。
tr_arr = soup.select("table.db_h_race_results > tbody > tr")
うまく動きました。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
(成功例2)
↑のソースコードを根拠に下記のようにスクリプトを決めました。
tr_arr = soup.select("table.race_table_01 > tbody > tr")
うまく動きました。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
そして、今回、苦慮しております、上記の対象url
url='http://race.netkeiba.com/?pid=speed&id=c201604020801'
中に在ります、このソースコードが、今回のsoup.select以下の根拠でございます。
たくさんの文字、数字が出てくると思っておりましたら、[]だけで拍子抜けしております。
御教示よろしくお願いいたします。
###補足情報(言語/FW/ツール等のバージョンなど)
python2.7
回答1件
あなたの回答
tips
プレビュー