2016-08-30 45 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