我正在尝试从下面显示的输入代码中搜索财务页面的市盈率。所以,基本上我是想从源代码中提取“48.98”。 由于市值、账面值(value)等的结构相同。我无法为 soup.find 构建正确的代码
非常感谢 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>
最佳答案
使用文本找到带有"P/E"的div,得到下一个div:
price = soup.find("div", class_="FL gL_10 UC", text="P/E").find_next("div").text
如果它始终是具有 css 类 FR gD_12 的第二个 div,您也可以只获取前两个并提取第二个
price = soup.select("div.FR.gD_12", limit=2)[1].text
关于python beautifulsoup 跨多行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235110/