Analysieren von Daten mit BeautifulSoup Python

Ich bin versucht, BeautifulSoup Parsen durch einen DOM-Baum, und extrahieren Sie die Namen der Autoren. Unten ist ein Ausschnitt des HTML-zeigen die Struktur des Codes werde ich kratzen.

<html>
<body>
<div class="list-authors">
<span class="descriptor">Authors:</span> 
<a href="/find/astro-ph/1/au:+Lin_D/0/1/0/all/0/1">Dacheng Lin</a>, 
<a href="/find/astro-ph/1/au:+Remillard_R/0/1/0/all/0/1">Ronald A. Remillard</a>, 
<a href="/find/astro-ph/1/au:+Homan_J/0/1/0/all/0/1">Jeroen Homan</a> 
</div>
<div class="list-authors">
<span class="descriptor">Authors:</span> 
<a href="/find/astro-ph/1/au:+Kosovichev_A/0/1/0/all/0/1">A.G. Kosovichev</a>
</div>

<!--There are many other div tags with this structure-->
</body>
</html>

Mein Punkt der Verwirrung ist, dass wenn ich Suppe.finden, es findet das erste vorkommen des div-tag, ich bin auf der Suche nach. Danach habe ich die Suche für alle 'einen' link-tags. In dieser Phase, wie extrahiere ich den Autoren-Namen, die aus jedem der link-tags und drucken Sie Sie aus? Gibt es einen Weg, es zu tun mit BeautifulSoup oder brauche ich Regex? Wie kann ich weiterhin die Iteration über alle anderen div-Tags und extrahieren die Autoren-Namen?

import re
import urllib2,sys
from BeautifulSoup import BeautifulSoup, NavigableString
html = urllib2.urlopen(address).read()
    soup = BeautifulSoup(html)

    try:

        authordiv = soup.find('div', attrs={'class': 'list-authors'})
        links=tds.findAll('a')


        for link in links:
            print ''.join(link[0].contents)

        #Iterate through entire page and print authors


    except IOError: 
        print 'IO error'

InformationsquelleAutor GobiasKoffi | 2009-10-01

Schreibe einen Kommentar