Parsing der Webseite in Python mit Beautiful Soup

8

Ich habe Probleme mit den Daten von der Website. Die Website-Quelle ist hier:

%Vor%

da ist so etwas:

  

INFORMIEREN SIE SICH FÜR FILM

Tytuł ....................................... .....: La mer à boireOcena ........................................ .....: IMDB - 6.3 / 10 (24) Produkcja ................................... ......: FrancjaGatunek .......................................... .: DramatCzas   trwania ......................................:   98 min.Premiera ..........................................: 22.02.2012 - ŚwiatReżyseria ........................................: Jacques MaillotScenariusz ..... ...................................: Pierre Chosson, Jacques MaillotAktorzy ......... ..................................: Daniel Auteuil, Maud Wyler, Yann Trégouët,   Alain Beigel

Und ich möchte, dass die Daten von dieser Website eine Python-Liste mit Strings enthalten:

%Vor%

Ich habe einen Code mit BeautifulSoup geschrieben, aber ich kann nicht weiter gehen, ich weiß einfach nicht, was ich von der Website bekommen soll und wie man in String konvertiert ... Bitte, helfen Sie!

Mein Code:

%Vor%     
mazix 27.06.2012, 20:48
quelle

2 Antworten

14

Das Geheimnis der Verwendung von BeautifulSoup besteht darin, die versteckten Muster Ihres HTML-Dokuments zu finden. Zum Beispiel Ihre Schleife

%Vor%

ist in die richtige Richtung, aber es werden alle Absätze zurückgegeben, nicht nur die, nach denen Sie suchen. Die Absätze, nach denen Sie suchen, haben jedoch die hilfreiche Eigenschaft, eine Klasse i zu haben. In diesen Absätzen kann man zwei Spannen finden, einen mit der Klasse i und einen anderen mit der Klasse vi . Wir haben Glück, denn diese Bereiche enthalten die Daten, die Sie suchen:

%Vor%

Also, zuerst alle Absätze mit der gegebenen Klasse bekommen:

%Vor%

Nun können wir mithilfe von Listenkompromittierungen eine Liste von Paaren erstellen, in denen jedes Paar enthalten ist enthält den ersten und zweiten Bereich aus dem Absatz:

%Vor%

Jetzt, wo wir die Spannen haben, können wir die Texte von ihnen bekommen:

%Vor%

Diese Texte sind immer noch nicht in Ordnung, aber es ist einfach, sie zu korrigieren. Um die Punkte von der ersten zu entfernen, können wir rstrip() verwenden:

%Vor%

Die Zeichenfolge : kann mit lstrip() entfernt werden:

%Vor%

Um es auf alle Inhalte anzuwenden, brauchen wir nur ein weiteres Listenverständnis:

%Vor%

Und das ist es. Ich hoffe, dass dieses Schritt-für-Schritt-Beispiel die Verwendung von BeautifulSoup für Sie klarer machen kann.

    
brandizzi 27.06.2012, 21:22
quelle
0

Damit erhalten Sie die Liste. Sie wollen etwas Code schreiben, um die abschließenden '....' s loszuwerden und die Zeichenfolgen zu konvertieren.

%Vor%

außer urllib2.HTTPError:     Drucken ("HTTPERROR!") außer urllib2.URLError:     Drucken ("URLERROR!")

    
mwoods 27.06.2012 21:15
quelle

Tags und Links