2016-03-22 6 views
0

Der folgende Code das Stück HTML-Code liefert, wie unten zu sehen,:unwrap in schöner Suppe nicht alle Umbauten zu entfernen

from urllib.request import urlopen 
from bs4 import BeautifulSoup 

# open webpage 
url = "https://www.google.com/finance?cid=12377955" 
pageSource = urlopen(url).read() 

# parse HTML into Beautiful Soup 
savSoup = BeautifulSoup(pageSource, "html.parser") 

# extract data from soup 
divData = savSoup.find_all("span", class_= "pr") 

print(divData) 
--- 

Dies gibt in der Befehlszeile:

--- 
[<span class="pr"> 
<span id="ref_12377955_1">2.13</span> 
</span>] 

Ich bin nach der 2.13 - Ich habe eine Reihe von Antworten von hier verfolgt, aber die nächste, die ich habe, ist die Entfernung des Span-Klassen-Tags nur - ich kann nicht scheinen, die ID zu verschieben.

Antwort

0

Da Sie für ein einzelnes Element suchen, verwenden Sie .find() statt .find_all() und .get_text() des Elements Text zu erhalten:

value = savSoup.find("span", class_= "pr").get_text(strip=True) 

strip=True hier helfen würde, um die zusätzlichen Zeilenumbrüche und Leerzeichen um den Text zu entfernen.

Dann können Sie es weiter in einen Float mit float(value) konvertieren.

+0

Sie, Sir, sind ein Genie. Danke, ich werde es genießen zu sehen, wie viel diese Lösung leisten kann! – mickTheMouse

Verwandte Themen