Ligue 1のサッカーのWebサイトからテーブルを削りました。具体的には、カードと審判に関する情報を含むテーブル。BeautifulSoup4(Python 3)を使用して特定のテーブルを削ることはできません
http://www.ligue1.com/LFPStats/stats_arbitre?competition=D1
私は、次のコードを使用しています:
import requests
from bs4 import BeautifulSoup
import csv
r=requests.get("http://www.ligue1.com/LFPStats/stats_arbitre?competition=D1")
soup= BeautifulSoup(r.content, "html.parser")
table=soup.find_all('table')
これは、HTMLのどこか別のテーブルを返します。 find all関数の後に[0]
、[1]
などを使用してこれを周回させようとしましたが、何も返しません。私もtr
とtd
を検索しましたが、同様の結果が得られます。なぜ美しいスープがこのテーブルを無視するのか分かりません。
私が探していますテーブルは
<table>
<thead>
<tr>
<th class="{sorter: false} hide position">Position</th>
<th class="{sorter: false} joueur">Referees</th>
<th class="chiffre header"><span class="icon icon_carton_jaune">Yellow card</span></th>
<th class="chiffre header"><span class="icon icon_carton_rouge">Red card</span></th>
<th class="chiffre header">Matches</th>
</tr>
</thead>
<tbody><tr>
<td class="position"></td>
<td class="joueur">Benoît BASTIEN</td>
<td class="chiffre"><a href="/stats_arbitre_details/245">25</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/245">4</a></td>
<td class="chiffre">8</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Hakim BEN EL HADJ</td>
<td class="chiffre"><a href="/stats_arbitre_details/259">55</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/259">4</a></td>
<td class="chiffre">10</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Wilfried BIEN</td>
<td class="chiffre"><a href="/stats_arbitre_details/162">44</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/162">3</a></td>
<td class="chiffre">9</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Ruddy BUQUET</td>
<td class="chiffre"><a href="/stats_arbitre_details/269">33</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/269">2</a></td>
<td class="chiffre">7</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Tony CHAPRON</td>
<td class="chiffre"><a href="/stats_arbitre_details/102">43</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/102">1</a></td>
<td class="chiffre">8</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Amaury DELERUE</td>
<td class="chiffre"><a href="/stats_arbitre_details/343">30</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/343">0</a></td>
<td class="chiffre">6</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Saïd ENNJIMI</td>
<td class="chiffre"><a href="/stats_arbitre_details/113">27</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/113">1</a></td>
<td class="chiffre">6</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Fredy FAUTREL</td>
<td class="chiffre"><a href="/stats_arbitre_details/338">25</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/338">2</a></td>
<td class="chiffre">8</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Antony GAUTIER</td>
<td class="chiffre"><a href="/stats_arbitre_details/331">31</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/331">8</a></td>
<td class="chiffre">9</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Johan HAMEL</td>
<td class="chiffre"><a href="/stats_arbitre_details/334">43</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/334">7</a></td>
<td class="chiffre">9</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Lionel JAFFREDO</td>
<td class="chiffre"><a href="/stats_arbitre_details/124">40</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/124">2</a></td>
<td class="chiffre">9</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Stéphane JOCHEM</td>
<td class="chiffre"><a href="/stats_arbitre_details/294">33</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/294">4</a></td>
<td class="chiffre">8</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Stéphane LANNOY</td>
<td class="chiffre"><a href="/stats_arbitre_details/127">24</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/127">0</a></td>
<td class="chiffre">6</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Mikael LESAGE</td>
<td class="chiffre"><a href="/stats_arbitre_details/286">38</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/286">3</a></td>
<td class="chiffre">9</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Jérôme MIGUELGORRY</td>
<td class="chiffre"><a href="/stats_arbitre_details/239">32</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/239">1</a></td>
<td class="chiffre">10</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Benoît MILLOT</td>
<td class="chiffre"><a href="/stats_arbitre_details/287">43</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/287">0</a></td>
<td class="chiffre">11</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Sébastien MOREIRA</td>
<td class="chiffre"><a href="/stats_arbitre_details/148">38</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/148">5</a></td>
<td class="chiffre">10</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Nicolas RAINVILLE</td>
<td class="chiffre"><a href="/stats_arbitre_details/188">40</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/188">7</a></td>
<td class="chiffre">10</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Frank SCHNEIDER</td>
<td class="chiffre"><a href="/stats_arbitre_details/247">33</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/247">4</a></td>
<td class="chiffre">10</td>
</tr>
<tr class="odd">
<td class="position"></td>
<td class="joueur">Clément TURPIN</td>
<td class="chiffre"><a href="/stats_arbitre_details/333">26</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/333">3</a></td>
<td class="chiffre">8</td>
</tr>
<tr>
<td class="position"></td>
<td class="joueur">Bartolomeu VARELA</td>
<td class="chiffre"><a href="/stats_arbitre_details/288">35</a></td>
<td class="chiffre"><a href="/stats_arbitre_details/288">3</a></td>
<td class="chiffre">9</td>
</tr>
</tbody></table>
下記のHTMLコードである私も動作するはずだけでなく、特定のクラスでtd
を探して試してみましたが、それは内のテーブルを選ぶことはできません最初の場所。
こんにちは、非常に役立ちましたことを感謝します。私は端末にカールのサンプルを入力し、ブラウザーでinspectオプションを使用していたときに取得しようとしていたHTMLスクリプトを取り出しました。しかし、私のコードにあなたの提案された変更後、私はまだ私は後のHTMLを引き出すことができません。私はPythonを使ってカールを試みるべきか、それとも別の解決策がありますか?私の無礼のための謝罪私はこれにはかなり新しいです。 –
私はまただけ応答を得ます –
それはかなり変わったようです、私はちょうど再度テストし、それは働いた、http://www.ligue1.com/LFPStats/stats_arbitre?競争= D1から 'http: //www.ligue1.com/stats_arbitre?competition = D1'? –