2017-05-12 5 views
0

BeautifulSoupモジュールを使用して、特定の情報を抽出したいhtmlファイルを解析しています。特にゲームの得点とチーム名。findAllがhtmlの空を返す

しかし、findAll関数を使用すると、確かにhtml内にある文字列に対して空を返します。誰かが私が間違っていることを説明できるなら、それは大いに感謝されます。以下のコードを参照してください。

import urllib 
import bs4 
import re 
from urllib.request import urlopen as uReq 
from bs4 import BeautifulSoup as soup 

my_url = 'http://www.foxsports.com/mlb/scores?season=2017&date=2017-05-09' 
uClient = uReq(my_url) 
page_html = uClient.read() 
uClient.close() 
# html parser 
page_soup = soup(page_html, "html.parser") 
container = page_soup.findAll("div",{"class":"wisbb_teams"}) 
print(len(container)) 
+0

リテラル、 'wisbb_teams'こと、すべてのmy_url''のためにHTMLで表示されていないようです。 –

+0

掻き傷がありますか? – Nevermore

答えて

1

私はあなたが使用して構文が代わりに何かfind_allようsnake_caseを試し、BeautifulSoupの古いバージョンだと思う(docsを参照)

from bs4 import BeautifulSoup 
# ... 
page_html = uClient.read() 
page_soup = BeautifulSoup(page_html, "html.parser") 
list_of_divs = page_soup.find_all("div", class_="wisbb_name") 
print(len(list_of_divs)) 

キャメルケースを使用し、古いAPIが、BS4はsnake_caseを使用しています

また、通知そのfind_allが取ることができるclass_パラメータはクラスで見つけることができます。

必ず正しいクラス名を探している作り、いくつかの詳細情報も

のために、この答え、https://stackoverflow.com/a/38471317/4443226を参照してください!私はむしろこれらの、あなたが探しているクラスが表示されない:

enter image description here

+0

ありがとう!私はどのようにあなたがwisbbを含む潜在的なクラスを見つけることができたか尋ねることができますか?また、少なくともページ上の要素を調べると、そのようなクラスが存在します。なぜこれが当てはまるのか知っていますか?私が望む情報は、html内の多くのクラスの中に入れ子になっています。なぜそれが見つからないのでしょうか? –

+0

私はそのイメージをfirefox検査コンソールを使用し、その文字列wisbbを検索することから得ました:) wisb_teamsは表示されません – Nevermore

+0

そして、この答えが正しい場合は有用です。それを後で見つける:) – Nevermore

関連する問題