2014-02-13 125 views
0

具體的數據我想從這個片段中提取數據位:提取與BeautifulSoup

<div id="information_content"> 
    <b>Name:</b> file.rar <br> 
    <b>Date Modified:</b> 2 days ago <br> 
    <b>Size:</b> 212.19 MB <br> 
    <b>Type:</b> Archive <br> 
    <b>Permissions:</b> Public </div> 
</div> 

我只想212.19 MB提取。

我已經使用soup.find('div', attrs={'id': 'information_content'})提取了片段,但我無法弄清楚如何進一步鑽取以獲得我所需要的內容。

任何人都可以幫忙嗎?

+2

您可以在這裏找到答案:http://stackoverflow.com/questions/21750979/beautifulsoup4-正確的路使用的 - 查找 - 所有 – WKPlus

回答

0

如前所述,如果這些div的結構總是相同的,如果您拆分,大小將在第三個字符串中。

>>>> x = '<div id="information_content"> <b>Name:</b> file.rar <br> <b>Date Modified:</b> 2 days ago <br> <b>Size:</b> 212.19 MB <br> <b>Type:</b> Archive <br> <b>Permissions:</b> Public </div> </div>' 
>>>> x.split('<br>')[2] 
' <b>Size:</b> 212.19 MB ' 

從那裏你可以使用正則表達式來得到你需要的部分。 例如這種模式這種格式的所有值相匹配:

\d+.\d\d\s.B 

它匹配10.00 KB以及1000.34 TB