Technologiewahl: Crawling

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Technologiewahl: Crawling

    Hi zusammen,

    aus Spaß an der Freude und aus pers. Interesse will ich mir einen kleinen Webcrawler basteln, der die Daten aggregiert und mir als RSS Feed bereitstellt.
    Ich bin nun gerade am überlegen, welche Technologie ich dafür am sinnvollsten verwende.

    Das einfachste wäre es sicherlich, per Cronjob in regelmäßigem Abstand ein kleines Script laufen zu lassen, welches die Daten anschließend speichert.
    Das scheint aber irgendwie keine große Herausforderung und so würde ich das ganze gerne etwas spannender aufziehen.

    Obwohl ich eigentlich gerne auf Ruby setzen würde, schwebt mir eher JSF und JBoss / Tomcat im Kopf herum, da ich mich mal näher mit Applikationsservern auseinader setzen will. Bis dato hab ich diese zur reinen Darstellung von java-basierten Seiten benutzt, aber noch nie hinter die Fassade geschaut.

    Wie könnte sowas mit Jboss realsiert werden, bringt der eine Art timer mit, oder muss diese "cron-engine" selbst geschrieben werden?


    Oder habt ihr noch eine ganz andere Idee?
    Ich "beherrsche" Ruby, php, python und java ( + jsf). Eine diese Sprachen sollte es schon sein, sonst wäre der Aufwand vielleicht doch etwas groß... :)

    danke
  • Ich glaube, recht bekannt ist der Quartz Scheduler. Den sollte der JBoss AS schon integriert haben.
    Manual-Eintrag dazu: docs.jboss.org/ejb3/docs/tutor…cheduler_integration.html

    Soweit ich weiß, kann man QuartzJobs deklarativ (XML oder ähnlich) sowie applikatorisch (mit Java Code) anlegen. Es gibt dabei verschiedene Szenarien. Quartz hat periodische Jobs (CronJobs) aber auch einmalige Jobs. Du solltest im Netz aber recht viel darüber finden.
  • Im Prinzip hängt es nur davon ab, mit welchen Technologien du dich beschäftigen willst.
    Wie wärs mit einer Cloud Architektur? Google Apps? Microsoft Azure?

    Die skalierbarsten Crawler werden mit dem Map/Reduce Pattern programmiert, meist unter Hadoop. Wir wärs damit?
    Warum überhaupt von Scratch anfangen? Es gibt bereits einen Crawler auf Hadoop Basis namens "Nutch".
    Benutze doch Nutch und passe es nach deinen Wünschen an. Beim Implementieren und Erweitern von komplexen Open Source Projekten kann man teilweise mehr lernen als wenn man einen simplen Crawler selber programmiert.

    easy-coding nutzt übrigens auch Nutch auf Hadoop Basis, ein paar Informationen findest du hier:
    * Suchindex vergrößert
    * Faceted Search
  • Hey,

    Danke für eure Beiträge.
    Jetzt hab ich erstmal genug Grundlage, zu recherchieren :)

    @Bastey: Soll nur was ganz kleines werden. 5 Seiten vielleicht. Aber mir gehts eher um die Sache an sich, als um den Zweck. Wie gesagt wäre ein kleines Script + Cron wahrscheinlich am schnellsten fertig, aber nicht so herausvordernd.

    @Torben: Nutch hört sich def. auch gut an. Hätte auch kein Problem damit, mich in andere Projekte einzuarbeiten! Die Scratch hat natürlich ihre Vor- und Nachteile. Mal schauen, wie ich mich entscheide ;)


    Schönen Tag noch!!