2016-08-30 46 views
1

我想從下面顯示的輸入代碼中搜索金融頁面的P/E比率。所以,基本上我試圖從源頭中提取'48 .98'。 由於結構與市值,賬面價值等相同,因此我無法爲湯配置正確的代碼。查找python beautifulsoup搜索多行

將非常感謝soup.find代碼的正確結構。 我是一個新手和對不起,如果我問一個非常基本的東西.. 在此先感謝!

<div class="FL" style="width:210px; padding-right:10px"> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">MARKET CAP (Rs Cr)</div> 
<div class="FR gD_12">41,364.28</div> 
<div class="CL"></div> 
</div> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">P/E</div> 
<div class="FR gD_12">**48.98**</div> 
<div class="CL"></div> 
</div> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">BOOK VALUE (Rs)</div> 
<div class="FR gD_12">147.24</div> 
<div class="CL"></div> 
</div> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">DIV (%)</div> 
<div class="FR gD_12">1000.00%</div> 
<div class="CL"></div> 
</div> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">Market Lot</div> 
<div class="FR gD_12">1</div> 
<div class="CL"></div> 
</div> 
<div class="PA7 brdb"> 
<div class="FL gL_10 UC">INDUSTRY P/E</div> 
<div class="FR gD_12">60.95</div> 
<div class="CL"></div> 
</div> 
</div> 

回答

4

使用文本找到與「P/E」 div和獲得下一個DIV:

price = soup.find("div", class_="FL gL_10 UC", text="P/E").find_next("div").text 

如果它始終是第二個DIV與CSS類FR gD_12 ,你也可以只是得到前兩個,並提取第二個

price = soup.select("div.FR.gD_12", limit=2)[1].text 
+0

謝謝Padraic!這是一個很大的幫助。 – sledgefox