pythonスクレイピングにて一部しかcsvに書き込まれない・・?
こんにちは
ご覧いただきましてありがとうございます。
pythonを活用したスクレイピングの件で、質問させていただきます。
■質問内容
web上から競馬の出馬表をスクレイピングしておりますが、一部しかcsvに書き込まれておりません。
スクレイピングを行なった結果、出馬表の表頭部分(馬名・枠番といった列名)しかcsvには書き込まれておらず、
馬の名前や厩舎、オッズなどがcsvに書き込まれておりません。
以下に参照しているページとコードを記載いたしますので
御確認いただくと幸いです。
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoupURLの指定
html = urlopen("http://race.netkeiba.com/?pid=race&id=c201605050211&mode=shutuba")
bsObj = BeautifulSoup(html, "html.parser")テーブルを指定
table = bsObj.findAll("table",{"class":"race_table_01 nk_tb_common shutuba_table"})[0]
rows = table.findAll("tr")csvFile = open("shutuba.csv", 'wt', newline = '', encoding =
'shift_jis')
writer = csv.writer(csvFile)
try: for row in rows:
csvRow = []
for cell in row.findAll(['th', 'td']):
csvRow.append(cell.get_text())
writer.writerow(csvRow)
finally:
csvFile.close()
このようにターミナル上へ入力するとcsvは作成されるのですが、
表の上部分のみで、肝心の馬の名前などは情報が書き込まれておりません。
おそらくスクレイピングのコマンド自体ではなく、
csv書き込み時のコマンドがあまり良くないのかと
推察をしているのですが、何をやってもうまくいかず
皆様の知識をお借りしたいと思います。
コマンドで修正すべきポイントなど、教えて頂けますでしょうか。