2016-10-25 3 views
1

Angesichts der folgenden html Schnipsel:Get tagless Elemente in BeautifulSoup

<div class="mapCopy"> 
    <b> 
     <a href="someurl.com"> 
      URL Text 
     </a> 
    </b> 
    <br/> 
     Address Line 1 
    <br/> 
     Address Line 2 
    <br/> 
     City, State, Zip 
    <p> 
     Phone: (123) 456-7890 
    <br/> 
     Fax: (123) 456-7890 
    </p> 
</div> 

Wie könnte ich nur die Adresszeile 1, Adresse Zeile 2, Stadt, Staat und Postleitzahl extrahieren? Ich glaube, ich sollte in der Lage sein, auf div iterieren und alle Elemente auszuschließen, die ein <b> Tag haben, aber ich bin mir nicht sicher über die notwendige Syntax.

Antwort

0

Sie konnten alle Kinder des <div> extrahieren, die Tags nicht enthalten:

>>> S = BeautifulSoup("<div...") 
>>> [child.strip() for child in S.find('div').children 
...  if "<" not in str(child) 
...  and len(child) > 1 
... ] 
['Address Line 1', 'Address Line 2', 'City, State, Zip'] 
Verwandte Themen