2016-08-30 3 views
1

Ich versuche, das P/E-Verhältnis einer Finanzseite aus dem Eingabecode unten zu suchen. Also, im Wesentlichen versuche ich '48 .98 'aus der Quelle zu extrahieren. Da die Struktur ist gleich für Market Cap, Buchwert, etc. Ich bin nicht in der Lage, den richtigen Code für eine Suppe Frame.FindPython BeautifulSoup Suche über mehrere Zeilen

Wäre sehr dankbar für die richtige Struktur der supp.find Code. Ich bin ein Neuling und tut mir leid, wenn ich etwas sehr einfaches Fragen .. Vielen Dank im Voraus!

<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> 

Antwort

4

den Text Verwenden Sie das div mit "P/E" und erhält die nächste div zu finden:

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

Wenn es immer die zweite div mit der CSS-Klasse FR gD_12 , Sie könnten auch nur die ersten beiden und extrahieren Sie die zweite

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

Vielen Dank Padraic! Das war eine große Hilfe. – sledgefox