2017-03-02 4 views
0

Ich versuche, mehr Informationen von erfahrenen Leuten zu erhalten, die Web-Verschrottung im Allgemeinen machen, ich gehe in Web-Verschrottung mit Python-Bibliotheken. Zur gleichen Zeit bemerkte ich, dass einige Leute einfache Bash verwenden und Befehle für das Verschrotten von Webseiten wie wget, curl, sed, grep, awk verwenden.Verwenden von Bash-Scripting für Web-Scrapping über Python-Bibliotheken?

Diese Befehle scheinen im Scripting viel sauberer zu sein als Python-Bibliotheken für die Verschrottung von Webseiten.

Was sind Ihre Einstellungen? Siehst du irgendwelche Vorteile der Verwendung von Python-Bibliotheken gegenüber Bash, die ich nicht bekomme? Oder sogar Python mit Bash verwenden, um Web-Verschrottung zu erreichen?

+1

Nun, es ist eine Frage der Codierung Stil. Wenn Sie eine Python-Bibliothek für eine bestimmte Aufgabe verwenden können, verwenden Sie sie im Allgemeinen über die Bash-Befehle. – linusg

+0

Ja, es gibt einen großen Vorteil, * ein * Programm statt * vieler * Programme auszuführen. – chepner

+0

Nun, Python benötigt die Bibliotheken allerdings. Es ist nicht so, als könntest du Python benutzen. – user2171775

Antwort

1

BeautifulSoup und Requests sind die besten Tools für programmatisches Scraping. Sie sind weit verbreitet, werden häufig aktualisiert und konzentrieren sich auf die Benutzerfreundlichkeit (das Motto der Anfragen lautet HTTP for Humans).

+0

hast du gesehen was mit curl möglich ist oder bekommst? mit einer Befehlszeile? – user2171775

+2

Die meisten erfahrenen Programmierer sind vertraut mit Curl und Get. Der Punkt ist, dass die Verwendung von Python einfacher zu verwenden, einfacher zu lesen und wartbarer ist. Es gibt einen Grund, warum Profis in der gesamten Branche es verwenden. Wenn Sie nur ein Skript benötigen, um eine Seite aus dem Internet zu bekommen, verwenden Sie bash. Aber hat Bash Datenbanktreiber? Hat es Module? Die Verwendung von Python hat viele Vorteile. –

+1

Ich denke, ein weiterer Punkt in Python ist, dass JSON als Datenformat häufiger geworden ist. Sicher, für einen einmaligen Download einer Webseite ist curl kämpferisch und ein exzellentes Werkzeug, aber stellen Sie sich vor, Sie würden eine REST API mit 'curl' und anderen Unix-Tools crawlen? Sie könnten sich Zeit nehmen, die 'jq'-Syntax zu erlernen, oder Sie könnten einfach' requests' verwenden, 'r.json()' aufrufen und Ihre Aufgabe beenden. – thaavik

0

Mit Python können Sie auch mit JavaScript gerenderte Seiten mit Selen und einem kopflosen Browser wie PhantomJS abkratzen. Vielleicht ist dies auch mit Bash Scripting möglich, aber je vollständiger der Code, desto größer der Vorteil der Klarheit von Python IMHO.

+0

Danke, ich habe nicht über Javascript nachgedacht. – user2171775

Verwandte Themen