質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1901閲覧

python2.7,beautifulsoupでのスクレイピングが、うまく出来ません。

akakage13

総合スコア89

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/08/21 11:09

###前提・実現したいこと
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)

<table cellpadding="0" cellspacing="1" summary="近走成績" class="nk_tb_common race_table_01">

↑のソースコードを根拠に下記のようにスクリプトを決めました。

tr_arr = soup.select("table.race_table_01 > tbody > tr")

うまく動きました。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

そして、今回、苦慮しております、上記の対象url
url='http://race.netkeiba.com/?pid=speed&id=c201604020801'
中に在ります、このソースコードが、今回のsoup.select以下の根拠でございます。

<table class="race_table_01 nk_tb_common speed_table_01" summary="タイム指数出馬表" cellspacing="1" cellpadding="0">

たくさんの文字、数字が出てくると思っておりましたら、[]だけで拍子抜けしております。
御教示よろしくお願いいたします。

###補足情報(言語/FW/ツール等のバージョンなど)
python2.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/08/21 11:22

もしかして、会員専用ページですか? だとしたら見えないですね。Pythonからはログインしているように見えないからデータが取得できないのでは。 ログインについて質問する場合は、誤ってパスワードなどを質問に記載しないように注意してください。
akakage13

2016/08/21 11:41

早々の御回答、ありがとうございました。 御指摘とおり、会員専用ページでございます。 もう一度、精査して、再度、御教示をいただきたく思います。 重ねて、ありがとうございました。
guest

回答1

0

ベストアンサー

この辺とか見たら勉強になりますよ

http://wisteriahill.sakura.ne.jp/web_scraping/index2.html

投稿2016/08/21 23:45

AMK

総合スコア765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akakage13

2016/08/22 10:00

AMK様、貴重な御教示ありがとうございました。 早速、拝見させて、勉強したいと思っております。
akakage13

2016/09/04 02:34

argius様から御教示いただきました、他の質問の回答を参考に解決いたしました。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問