2017-02-19 20 views
0

私はhtmlコード(これらのエントリの倍数)は次のようになります。美しいスープ - 取得タグの内容

<p class="number-values"> 
    <span class="text">Count:</span> 
    <span data-value="10000" name="nv">10,000</span> 
    <span class="devider">#</span> <span class="text">Number:</span> 
    <span data-value="500,000" name="nv">0.05</span> 
</p> 

を今、私はデータ値のタグのコンテンツを取得していますよ。私はこれまで書いてきたことである:

url = http://example.com 
source = urllib.request.urlopen(url).read() 
soup = bs.BeautifulSoup(source,"lxml") 

contents = soup.find_all("p", class_="number-values") 

for content in contents: 
    print(content.string) 

それは、この(私は把握できなかった無意味なリターンを多く含む)を出力ただし:

Count: 

10,000 

# 

Number: 

0,05 

は私が見つけることができないよう右のタグを抽出する、多分私は文字列全体を正規表現する必要がありますか?

答えて

1

を試してみてください。あなただけ10,0000,05あなたはspanタグを検索する必要がありたい場合にname = "nv"属性を持っている:

for content in soup.find_all("span" , {"name" : "nv"}): 
    print (content.text) # 10,000 0,05 
+0

この作品。私はまだどのように不明です。ありがとう! – Jos

0

は、あなたはそれがその子タグのすべてのテキストを返しますpタグの彼にクラスを与えたので、それは意味を成さない

contents = soup.find_all("p", {"class":"number-values"}) 
関連する問題