2016-06-12 3 views
1

私はすべてのチーム対チーム情報とこのURLを使用してショーボタンの下に隠されているスコアを取得しようとしているhttp://www.gosugamers.net/counterstrike/teams/7397-natus-vincere/matches。私はこの問題のためにこれまで私が持っていたものです。Pythonで美しいスープを使ってチームのテキストとスコアを取得するには?

def all_match_outcomes(): 

    for match_outcomes in all_match_history_url(): 
     page = requests.get(match_outcomes).content 
     soup = BeautifulSoup(page, 'html.parser') 

     for match_outcome in soup.select_one('div table.simple.gamelist.profilelist td'): 
      opp_1 = match_outcome.select_one('a').find('span') 
      print(opp_1) 
+0

ワーキング。 – alecxe

+0

十分明確か、すべてのコードを追加する必要がありますか? – DJRodrigue

答えて

2

結果が隠さスパンの下にあるゲームは(も、BeautifulSoupには「隠された」は存在しない、それはブラウザではありません)。ホームスコアはspanで、hscoreクラス、離れてはspanascoreクラスです。チーム名は内spanの中にの要素の中にあり、opp1opp2のクラスです。実装:

import requests 
from bs4 import BeautifulSoup 


match_outcomes = "http://www.gosugamers.net/counterstrike/teams/7397-natus-vincere/matches" 
page = requests.get(match_outcomes).content 
soup = BeautifulSoup(page, 'html.parser') 

for row in soup.select('table.simple.gamelist.profilelist tr'): 
    opp1 = row.find("span", class_="opp1").span.get_text() 
    opp2 = row.find("span", class_="opp2")("span")[-1].get_text() 

    opp1_score = row.find("span", class_="hscore").get_text() 
    opp2_score = row.find("span", class_="ascore").get_text() 

    print("%s %s:%s %s" % (opp1, opp1_score, opp2_score, opp2)) 

プリント:

Virtus.Pro.CS 2:1 Natus Vincere 
Dobry&Gaming; 0:2 Natus Vincere 
GODSENT 0:2 Natus Vincere 
HellRaisers 0:2 Natus Vincere 
Flipsid3 Tactics 1:2 Natus Vincere 
Natus Vincere 1:2 Dobry&Gaming; 
mousesports.CS 1:0 Natus Vincere 
mousesports.CS 0:1 Natus Vincere 
... 
Natus Vincere 2:1 Flipsid3 Tactics 
Team Dignitas.CS 0:1 Natus Vincere 
+0

私はまた、両方のチーム名も表示しようとしています.2つのスパンタグがあり、チームテキストは2番目のスパンです。チーム名はどのようにして得られますか? – DJRodrigue

+0

@DJRodrigueそれはすでに答えにあります、10分前にそれを更新してチーム名を取得しました。それが役に立てば幸い。 – alecxe

+0

はい、申し訳ありませんが、私はリフレッシュしませんでした。ありがとうございました ! – DJRodrigue

-1

は、ページのソースを見ると、あなたが必要とするすべての情報は、クラスsimple gamelist profilelistとテーブルにあることがわかります。

Beautiful Soup Documentation と特にfindメソッドを読んでください。

あなたがこれまで持っているもののコードを示してください、何でないhtmlソースでパターンを検索してみてください、あなたはすぐに、各テーブルのデータを反復する方法を見つけ出すだろう(<td>)とどのようにチームを抽出することなど

関連する問題