3

と私はBeautifulSoup4に新しいですし、基本と思われる問題に遭遇した、ではないクラスで、idで見つけることができます。私はidだけで見つけることができますが、クラスでは見つけることができません。以下は何も見つかっていないのに対し、はBeautidulSoup4(Python3.x)

page_soup.findAll('div', {'id': 'page-content'}) 

enter image description here

、次のような作品:たとえば、私はそれでHTMLの以下の部分を持つサイトで探しています

page_soup.findAll('div', {'class': 'main-container'}) 

だから私の質問は:「ID」からdiffernetly扱わ「クラス」は属性をされますか?もしそうなら、クラス名で検索する適切な方法は何ですか?

私はそれが問題ではないはずですが、seleniumパッケージのpage_sourceメソッドを使用してhtmlを取得しました。

編集Hereはそのようなページの例です。プレーヤーのポジション、年齢などを含む上のテーブルを調べると、上記のhtmlスナップショットが取得されます。

+2

私はこの質問を投稿するときに、2行目にタイプミスをしたと仮定していますか? '{ 'クラス『メインコンテナ』}' – DMan

+0

@DMan、はいありがとう、固定それ – splinter

+0

両方の線は、少なくとも一つのタグを返す必要があります。より多くのコードとhtmlデータを含めることができますか? t.m.adam @ –

答えて

1

以下は、私が実行するコマンドであり、あなたはそれが両方のパーサで私の作品見ることができるように、それは私

In [1]: from bs4 import BeautifulSoup 

In [2]: import requests 

In [3]: res = requests.get("http://www.spotrac.com/mlb/atlanta-braves/freddie-freeman-7359/") 

In [4]: soup = BeautifulSoup(res.text,"lxml") 

In [5]: len(soup.findAll('div', {'class': 'main-container'})) 
Out[5]: 1 

In [6]: soup = BeautifulSoup(res.text,"html5lib") 

In [7]: len(soup.findAll('div', {'class': 'main-container'})) 
Out[7]: 1 

In [8]: import sys; sys.version 
Out[8]: '3.6.2 (default, Jul 17 2017, 16:44:45) \n[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)]' 

のために素晴らしい作品。

関連する問題