2017-02-21 57 views
3

我有一個div如:如何提取外格內容,而無需解析內格

<div class="info"> 
       Illinois 
        <div class="price"> 
         $20 
        </div> 
    </div> 

我想要得到的「信息」 div的內容,但沒有「降價」的內容DIV 。我正在使用Python和BeutifulSoup。我試圖把div內容變成一個字符串,我可以很容易地過濾,但我的代碼不起作用:

infosoup = soup.find_all('div', class_="info") 
for element in infosoup: 
    name = element.string.strip() 

任何幫助表示讚賞。

回答

1

您可以使用contents列表:

infosoup = soup.find_all('div', class_="info") 
for element in infosoup: 
    name = element.contents[0] 
2

這是更好地使用find命令的參數text=True而不是試圖索引的內容的列表。

matches = [div.find(text=True).strip() for div in soup.find_all('div', class_="info")] 

返回:

['Illinois']