Ich war mir nicht sicher, ob es besser war zu verwenden als ein anderes, dh. Java, PHP oder Perl.Welche Programmiersprache sollte ich verwenden, wenn ich einen RSS-Feed abkratzen möchte?
Antwort
Der beste ist derjenige, mit dem Sie am bequemsten arbeiten.
Es ist nicht wirklich wichtig, solange Sie die richtigen Werkzeuge verwenden, um die Arbeit zu erledigen.
Sie müssen überlegen, wo Sie Ihre Anwendung bereitstellen (Web oder Desktop), wie lange Sie eine neue Technologie/Sprache lernen und wie Bibliotheken für das Parsen von RSS und/oder XML und/oder HTML verfügbar sind. Die drei Sprachen, die Sie genannt haben, sind jedoch alle gute Kandidaten.
RSS-Dateien sind nur formatierte XML, die Sie über das Internet erhalten. Alles, was Sie in einer Sprache brauchen, ist, dass sie eine HTTP-Anfrage stellen kann und Möglichkeiten hat, das XML zu parsen.
Der Framework-Code kann in jedem Fall vorhanden sein, aber ziehen Sie die Verwendung von XSL-Transformationen (oder XPath-Abfragen) in Betracht, um XML in ein angenehmeres Format zu bringen. Espec. wenn Sie nach kleinen Teilmengen der Daten oder nach einzelnen Werten suchen.
Es ist kaum "Scraping", wenn die Quelldaten in erster Linie maschinell geparst werden sollten. :)
Wenn Sie mit einer bestimmten Technologie stärker sind und Sie eine tote Linie (oder andere Faktoren) haben, dann gehen Sie mit dieser Technologie, wie sie alle Fähigkeiten haben.
Wenn dies nicht der Fall ist, dann fällt es den Anforderungen des Projekts, das Sie unternehmen, und auch wenn Sie eine neue Technologie lernen wollen/können.
PHP ist die natürlichste webbasierte Technologie und Sie können eine Bibliothek wie diese verwenden Simple HTML DOM Parser (es unterstützt auch XML), um schnelle Ergebnisse zu erhalten und vertiefen in die Komplexität des Web Scraping, die PHP auch unterstützt.
Java hat ein nettes Projekt namens Web Harvest, das ich in der Vergangenheit mit guten Ergebnissen verwendet habe (obwohl Sie eine nicht standardmäßige XML-Syntax lernen, aber es ist ähnlich wie xslt) und sobald Ihr System eingerichtet ist Ihre Web Scraping kann leicht modifiziert werden.
Perl ist das stärkste, wenn es um Regex geht (Java und vor allem PHP kann ein bisschen unordentlich werden, wenn ich mit Regex finde ich) und Regex ist eine schöne Fähigkeit zu haben, je nachdem, was Sie mit Ihren Informationen tun wollen ist auch eine wiederverwendbare Option.
Wenn Sie eine Serveranwendung schreiben, die häufig ausgeführt werden muss und Inhalte über eine große Anzahl von Websites hinweg aggregiert, sollte die Leistung ein wesentliches Kriterium für Sie sein. Dies würde eine Sprache bedeuten, die in der Lage ist, große Datenmengen schnell zu verarbeiten.
Wenn Sie nur ein Programm benötigen, um gelegentlich auszuführen und Daten von vielen Seiten auszuwählen, dann können Sie eine spezielle Sprache in Betracht ziehen. Das Produkt TestPlan bietet eine sehr einfache Sprache, mit der Sie RSS-Inhalte schnell erfassen und auf einfache Weise verfügbar machen können.
Ich habe es in einigen wichtigen Scraping-Projekten verwendet. Die Scripts sind zwar nicht besonders schnell, aber extrem einfach zu pflegen.
- 1. Welche funktionale Programmiersprache sollte ich als erste funktionale Programmiersprache wählen?
- 2. Welche Programmiersprache, welchen Algorithmus sollte ich für die Wörterbuchübersetzung verwenden?
- 3. Welche sollte ich verwenden? (Leistung)
- 4. Welche Baugruppe möchte ich?
- 5. Welche node.js-Socket-Engine sollte ich verwenden?
- 6. Java-Verschlüsselung: Welche Algorithmen sollte ich verwenden?
- 7. Welche Art von Variable sollte ich verwenden?
- 8. Welche Datenstruktur sollte ich verwenden? Hashtabelle, Array ...?
- 9. Gui Toolkits, welche sollte ich verwenden?
- 10. therubyracer oder nodejs, welche sollte ich verwenden?
- 11. Welche UML-Diagramme sollte ich verwenden?
- 12. Welche IronPython-IDE sollte ich verwenden?
- 13. Welche .net Diagrammbibliothek sollte ich verwenden?
- 14. Welche Vorlage sollte ich in SimpleDateFormat verwenden?
- 15. Welche Erlang-Implementierung von OpenId sollte ich verwenden, wenn überhaupt?
- 16. Welche Einstellungen sollte ich mit Minidumps verwenden?
- 17. Welche Documentum-APIs sollte ich verwenden?
- 18. Welche Bildgenerierungsbibliotheken für PHP sollte ich verwenden?
- 19. Welche Sperrhinweise sollte ich verwenden (T-SQL)?
- 20. Welche Game Engine sollte ich verwenden?
- 21. OAuth/OpenID - welche sollte ich verwenden?
- 22. Welche Java-Validierungsbibliothek sollte ich verwenden?
- 23. Welche Perl-Datenbankschnittstelle sollte ich verwenden?
- 24. C++: Welche Regex-Bibliothek sollte ich verwenden?
- 25. Welche Datenbank sollte ich mit node.js verwenden?
- 26. Welche Linux Shell sollte ich verwenden?
- 27. Welche Meta-Informationen sollte ich verwenden?
- 28. Welche Python-Installation sollte ich verwenden?
- 29. UrlEncoding - welche Codierung sollte ich verwenden?
- 30. Welche Appid sollte ich mit Netsh.exe verwenden?