2016-08-07 9 views
0

フットボール(サッカー)関連の統計情報を提供するサイトがあります。データを照会する自社内のオプションがあり、自分の分析を実行したいのですが、私は美味しいスープを使用しています。私は美味しいスープを使用しています4。BS4でWebスクレイピング:タグを見つけることができません

文書はhereです。

Beautiful Soupのドキュメントによると、find_all()を使用して特定のタグを検索できますが、使用しようとすると空白になります。

html = urlopen("http://members.fantasyfootballscout.co.uk/player-stats/goalkeepers/") 
bsObj = BeautifulSoup(html.read(), "lxml") 

CSVとしてBS4インポートBeautifulSoup 輸入csvファイルから urlopen urllib.requestインポートから

はおそらく、有料壁の後ろにいるあなたはそれにアクセスすることはできません。これを念頭に置いて、私はコードスニペットを投稿します。

<tbody> 
                                                 <tr> 
<td><input type="checkbox" name="players[]" value="61302"></td> 
      <td class="first"> 
<a href="/player-profiles/ryan-allsopp/" class="enhanced-title" title="Ryan Allsopp"> Allsopp </a> 

<div class="profile-title"> 
    <img src="/images/players/small/default.png" alt="" width="42" height="64"> 
      <br>Ryan Allsopp <br> (Bournemouth, Goalkeeper) 
</div>        
</td> 

<td class="nowrap"> 
    <span class="team-disc bou-light"></span> 
<a href="/player-stats/goalkeepers/fantasy-index/bournemouth/" title="Bournemouth"> BOU</a> 
</td> 
                            <td title="Starts: 0">0</td> 
                                    <td title="Time Played: 54"> 54</td> 
                                    <td title="Subbed On: 1">1</td> 
                                    <td title="Subbed Off: 0"> 0</td> 
                                    <td title="Goals: 0"> 0 </td> 
                                    <td title="Assists: 0"> 0 </td> 
                                    <td title="Clean Sheets: 0">0 </td> 
                                    <td title="Goals Conceded: 1">  1 </td> 
                                    <td title="Own Goals: 0"> 0 </td> 
                                    <td title="Saves: 0"> 0 </td> 
                                    <td title="Premier League Yellow Cards: 0"> 0</td> 
                                    <td title="Premier League Total Red Cards: 0"> 0 </td> 
                         </tr> 
                                                 <tr> 
<td><input type="checkbox" name="players[]" value="57187"></td> 

まず、すべてのテーブルデータを取り込みたいが、BSでは1つのtdでも識別できない。

bsObj.td # returns empty set 
bsobj.find_all('td') # returns empty set 

どこが間違っていますか?

+1

あなたは有料の壁紙に言及しました。あなたのPythonコードがこのページにアクセスできると確信していますか?あなたは 'print(html.read())'しようとしましたか? –

+2

HTMLテキストを再フォーマットする必要があります。 – ffledgling

+0

@OmarShehataそれが返されました:b " –

答えて

0

上記のコメントは参考になりましたが、この問題を解決することはできませんでしたが、私はセッションCookieを推奨しています。

このソリューションは、サイトのjavascript部分で行われる非同期HTTP呼び出しに関連しています。私は、私が必要とするデータへのアクセスを与えるために、私はjavascriptを実行するために使用するセレン(ドキュメントhere)をインストールしました。

関連する問題