Gegebene einige zufällige Nachrichten
Der ursprüngliche Plan bestand darin, ein zu verwenden und jedes Tag nach seinem BeautifulSoup findAll(True)
.getText()
-Wert zu sortieren. BEARBEITEN: Verwenden Sie dies nicht für HTML-Arbeit, verwenden Sie die lxml-Bibliothek, es ist Python-basiert und viel schneller als BeautifulSoup. Befehl (was bedeutet, extrahieren Sie alle HTML-Tags)
Aber das wird nicht funktionieren für die meisten Seiten, wie die, die ich als Beispiel aufgeführt habe, weil der große Textkörper in viele kleinere Tags unterteilt ist, wie zum Beispiel Absatzteiler.
Hat jemand damit Erfahrung? Jede Hilfe bei so etwas wäre toll.
Im Moment benutze ich BeautifulSoup zusammen mit Python, bin aber auch bereit, andere Möglichkeiten zu erkunden.
EDIT: Kam nach einigen Monaten zu dieser Frage zurück (wow, ich hörte mich wie ein Idiot an ^) und löste das mit einer Kombination von Bibliotheken & amp; eigener Code.
Hier sind einige sehr nützliche Python-Bibliotheken für die Aufgabe in sortierter Reihenfolge, wie sehr es mir geholfen hat:
Ich werde vielleicht Benchmarks veröffentlichen, wenn Interesse besteht.
Indirekt verwandte Bibliotheken sollten Sie wahrscheinlich installieren und ihre Dokumente lesen:
Ein großer Teil des Wertes und der Leistungsfähigkeit von Python, einer ziemlich langsamen Sprache, kommt von den Open-Source-Bibliotheken. Sie sind besonders toll, wenn sie kombiniert und zusammen verwendet werden, und jeder sollte sie nutzen, um alle Probleme zu lösen, die sie haben könnten!
Die Goose-Bibliothek bekommt eine Menge solide Wartung, sie haben nur arabische Unterstützung hinzugefügt, es ist großartig!
Sie können sich das Paket python-readability ansehen, das genau das für Sie erledigt.
Sie gehen wirklich nicht den richtigen Weg, würde ich sagen, wie alle obigen Kommentare bestätigen würden.
Das heißt, das macht das, wonach Sie suchen.
%Vor% Es wird nur der Text extrahiert, indem zuerst der Hauptcontainer aller <p>
-Tags gefunden und dann nur die <p>
-Tags selbst ausgewählt werden, um den Text zu erhalten; Ignorieren die <script>
und andere irrelevante.
Wie in den Kommentaren erwähnt, funktioniert das nur für CNN - und möglicherweise nur für diese Seite. Möglicherweise benötigen Sie für jede neue Webseite eine andere Strategie.
Tags und Links python web-crawler beautifulsoup