2016-06-28 78 views
-1

获取段落标记的内容时有点困惑。获取段落内容

<div class="SomeID"> 
<p>What a voice! </p> 
</div> 

我在这一点上

list = soup.find_all("div","SomeID") 

可是如何才能让该段内容达成。(什么声音!)

的基本问题是让所有段落标记从内容

import urllib 
from bs4 import BeautifulSoup 

html = urllib.urlopen('http://www.dawn.com/news/1267272/democracys-woes').read() 
soup = BeautifulSoup(html, 'html.parser') 
list = soup.find_all("div","comment__body cf") 
print list 

回答

1

你实际上可以做到CSS selector

for p in soup.select("div.SomeID > p"): 
    print(p.get_text(strip=True)) 

或者,如果你需要一个p元素:

soup.select_one("div.SomeID > p").get_text(strip=True) 

注意>在这里是指直接父子关系。

+0

两者都不起作用。我正在更新这个问题。请粗略浏览一下。 –

+0

@AliMurtaza好吧,'div.comment__body> p'适合我。 – alecxe

+0

它不工作: 进口的urllib 从BS4进口BeautifulSoup HTML =了urllib.urlopen( 'http://www.dawn.com/news/1267272/democracys-woes').read() 汤= BeautifulSoup (html,'html.parser') #list = soup.find_all(“div”,“comment__body cf”) #print list list2 = soup.select_one(“div.comment__body cf> p”)。get_text strip = True) print list2 –