Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Schnittstelle zum Import von Daten eines Robots/Spider?

Eingetragen von Ionit (1802)
am 05.09.2014 - 12:51 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

Hallo Freunde,

ein Robot (in Perl geschrieben) spidert einmal am Tag diverse vorgegebene URLs ab (ca. 200) um dort Profillisten abzurufen. Wenn es auf diesen Profillisten neue Einträge gibt, ruft der Bot die jeweilige (neue) Profildetailseite auf und extrahiert von dort den Content (Alter, Figur, Haarfarbe, Beschreibung, Bildurl etc.).

Diese Daten werden anschließend in einer Datenbank abgespeichert.

Aus diesen Datensätzen sollen nun auf meinem Drupal-Projekt jeweils Nodes generiert werden (und auch wieder gelöscht werden - wenn auf den Profillisten der täglich gespiderten URLs diverse Profile wieder verschwinden).

Welche Möglichkeiten gibt es nun in Drupal solche Daten zu importieren um daraus Nodes zu basteln? Ist es dazu notwendig ein eigenes Modul zu coden welches die Datenübernahme abwickelt oder gibt es da eventuell schon fertige Module/Möglichkeiten? Wichtig dabei ist, wie erwähnt, dass bestehende Nodes auch wieder gelöscht werden müssen (automatisch) wenn der Bot "meldet" dass die jeweiligen Profile auf den gespiderten Profillisten nicht mehr vorhanden sind.

Könnte man dazu eventuell Feeds/Migrate verwenden wenn der Bot die Datensätze in einer Datenbank oder als CSV-Datei zwischenspeichert?

Wie würdet ihr soetwas umsetzen?

Über Denkansätze würde ich mich freuen!

Danke schonmal im Voraus!

Gruß Matthias

‹ Gelöst: Css wird nicht gelesen Schnittstelle zum Import von Daten eines Robots/Spider? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Schau dir feeds an

Eingetragen von ronald (3857)
am 05.09.2014 - 13:10 Uhr

Das sollte weitgehend tun, was du dir wünschst.

Beim Löschen gibt es aber ein Problem.
Wenn etwas nicht existiert, kann es auch nichts triggern.
Du könntest löschen, wenn seit einer gewissen Zeit kein Update gewesen ist.
Das wirst du in einem eigenen Minimodul realisieren müssen. Vielleicht geht es auch mit den Bordmitteln von Rules.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Ronald, danke für die

Eingetragen von Ionit (1802)
am 05.09.2014 - 14:43 Uhr

Hallo Ronald,

danke für die Antwort. Mit Feeds habe ich bisher nur per CSV importiert.

Es wäre mir aber am liebsten wenn die Daten vom Bot in einer Datenbank zwischengespeichert werden.

Ich habe gerade nachgeschaut aber ein Import über SQL/Datenbank per Feeds scheint nicht möglich zu sein oder?

Grübelnde Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Migrate?

Eingetragen von ronald (3857)
am 05.09.2014 - 15:18 Uhr

oder export der Tabelle in eine CSV, und dann import.
Da gibt es viele Möglichkeiten. Im Extremfall ein eigenes Modul.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Feeds kann auch direkt auf MySQL zugreifen

Eingetragen von C_Logemann (912)
am 05.09.2014 - 22:33 Uhr

Feeds kann vieles vor allem auch in Kombination mit Zusatz-Modulen (siehe Feeds SQL). Im beschriebenen Szenario ist somit ein Umweg über CSV unnötig.
Es wäre sogar denkbar, daß Feeds direkt den Crawler unnötig machen könnte, aber da hänge ich mich jetzt nicht rein in eine Recherche.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe die letzten Tage am

Eingetragen von Ionit (1802)
am 13.09.2014 - 19:23 Uhr

Ich habe die letzten Tage am Perl-Spider gecodet und bin fast fertig. Die Fremdprofildaten werden gespidert, extrahiert, aufbereitet und standatisiert un dann in die Datenbank geschrieben.

Der Tip von Carsten war perfekt denn Feeds SQL ist super geiegnet für mein Vorhaben - damit bekomme ich diese Daten dann importiert und zu Nodes verarbeitet [Danke Carsten!].

Das Löschen der Profile, die auf den Ursprungsprofillisten nicht mehr vorhanden sind, werde ich höchstwahrscheinlich mit VBO machen [Execute arbitrary PHP script). Ich muss nur mal schauen ob man VBO auch über Cron steuern kann, ich meine, dass ich das mal irgendwo gelesen habe.

Danke für eure Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views > VBO > Rules

Eingetragen von C_Logemann (912)
am 13.09.2014 - 22:25 Uhr

Man kann Views mittels VBO als DB-Abfragen in Rules nutzen.
Event: Cron, Condition: evtl. Zeitraum, Action: Liste per Views laden, Loop auf Liste (ist wie wie foreach auf Array). Im Loop Bearbeitungs-Rule aufrufen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Carsten, vielen Dank

Eingetragen von Ionit (1802)
am 13.09.2014 - 22:46 Uhr

Hallo Carsten,
vielen Dank für den Hinweis auf Rules und Views (in Zusammenhang mit VBO). Das hört sich sehr interessant an und das werde ich auf jeden Fall ausprobieren.

Ich hätte aber nochmal eine Frage zu Feeds SQL .... weißt Du zufällig ob man über den Query, den man dort verwendet, auch in die externe Datenbank (aus der ausgelesen wird) schreiben kann?

Ich möchte in jedem Datensatz, der von Feeds SQL schon ausgelesen wurde (in einer extra Spalte) die NID speichern (die der Node, der daraus in Drupal generiert wurde, hat).

Schritt 1: lies aus externen Datenbank den jeweiligen Datensatz aus
Schritt 2: Erstelle daraus den Node in Drupal
Schritt 3: Wenn Node fertig - nimm die NID und schreibe sie in eine extra Spalte in der externen Datenbank

Weißt Du ob soetwas möglich ist?

Danke schonmal und viele Grüße
Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

kann ich leider nicht beantworten, aber evtl. hilft feeds tamper

Eingetragen von C_Logemann (912)
am 13.09.2014 - 22:59 Uhr

Ich habe selbst noch nicht mit "Feeds SQL" gearbeitet. Bei meinen komplexeren Import-Tasks schreibe öfter schnell mal eine Custom Import Funktion. Ich habe aber in der hiesigen Usergroup schon mal ein Vortrag gesehen, bei dem zusätzlich auch noch Tricks mit Feeds Tamper gezeigt wurden. Dazu gibt es auch noch eine PHP-Erweiterung, die vllt, das custom Programming stark reduzieren kann (wofür ich immer bin).

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Carsten,Feeds Tamper

Eingetragen von Ionit (1802)
am 13.09.2014 - 23:08 Uhr

Hallo Carsten,

Feeds Tamper nutze ich - die PHP-Erweiterung allerdings noch nicht.

Steht Feeds Tamper die NID denn schon zur Verfügung wenn es die Daten aufbereitet - sprich - kann ich da schon auf die NID zugreifen und sie eventuell über PHP-Code (und INSERT) an die Datenbank senden? Ich dachte, dass das alles vorm Node speichern erfolgt und die NID noch nicht verfügbar ist oder liege ich da falsch?

  • Anmelden oder Registrieren um Kommentare zu schreiben

NID kann es erst nach Speichern neuer Nodes geben

Eingetragen von C_Logemann (912)
am 13.09.2014 - 23:24 Uhr

Eine Entity ID wird erst vergeben, wenn das Object gespeichert wird. Da arbeitet dann Drupal mit der Datenbank zusammen. es könnte ja sonst parallele Prozesse geben, die separat hochzählen.
Wenn es bei Feeds keine Art Post Prozess nach Verarbeitung eines Datensatz gibt (weiß ich gerade nicht) dann könnten die Karten schlecht stehen, daß dieser Rückwert mit Feeds direkt bearbeitbar ist.
Wenn die Nicht-Drupal-Daten trotzdem eine eigene ID haben, die diese nachträglich aufspürbar machen, dann würde ich diese beim Node speichern z.B. in einem einem Standard-Feld, das man auch per GUI anlegen kann (kann ja auch versteckt sein).
Dann würde ich evtl. mit Rules eine Art Post-Process abbilden, der dann nach Speichern eines neuen Nodes operiert (evel. mit Condition auf gesetztes neues Hilfs-Feld), dann evlt. mit Custom PHP eine separate Funktion aufrufen zum Löschen in der zweiten DB. Als letzte Action könnte das Hilfsfeld auch wieder gelöscht werden.
Aber evtl. bietet auch Feeds hier noch Hilfen, die ich gerade nicht kenne.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 4 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 10 Stunden
  • In der entsprechenden View
    vor 4 Wochen 10 Stunden
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 10 Stunden
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20459

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association