Frage

Ich möchte eine Website mit Grease kriechen und sich fragen, ob es eine bessere Art und Weise ist, um vorübergehend Werte speichern, als mit GM_setValue.

Was ich tun möchte, ist meine Kontakte in einem sozialen Netzwerk kriechen und die Twitter-URLs aus ihren Profilseiten extrahieren.

Mein aktueller Plan ist es, jedes Profil zu öffnen in einem eigenen Register, so dass es wie ein normales Surfen Person aussieht (dh css, scrits und Bilder werden vom Browser geladen werden). Dann speichern Sie die Twitter-URL mit GM_setValue. Sobald alle Profilseiten gecrawlt wurden, erstellen Sie eine Seite, die gespeicherten Werte verwendet wird.

Ich bin nicht so glücklich mit der Speicheroption, though. Vielleicht gibt es einen besseren Weg?

ich betrachtet habe die Benutzerprofile in die aktuelle Seite eingefügt, so dass ich alle diese mit der gleichen Skript Instanz verarbeiten könnte, aber ich bin nicht sicher, ob XMLHttpRequest indistignuishable von normalen Benutzern initiiert Anfragen aussieht.

War es hilfreich?

Lösung

Ich habe ein ähnliches Projekt, wo ich eine ganze Menge (Rechnungszeilendaten) erhalten benötigen von einer Website, und sie in eine Abrechnungsdatenbank exportieren.

Sie könnten eine aspx (oder PHP usw.) Backend erstellen, die POST-Daten und speichert sie in einer Datenbank verarbeitet.

Alle Daten, die Sie von einer einzigen Seite mögen, können in einer Form gespeichert werden (hidden mit Stil Eigenschaften, wenn Sie möchten), Feldnamen oder IDs unter Verwendung der Daten zu identifizieren. Dann alles, was Sie tun müssen, ist die Form Aktion eine ASPX-Seite zu machen und senden Sie das Formular mit Hilfe von Javascript.

(Alternativ können Sie eine Taste auf der Seite einreichen hinzuzufügen, so dass Sie die Formularwerte zu überprüfen, bevor in der Datenbank einreichen).

Andere Tipps

Ich glaube, Sie zuerst sich selbst fragen sollten, warum Sie Greasemonkey für Ihr spezielles Problem verwendet werden soll. Greasemonkey wurde als ein Weg entwickelt eigenen Browser-Erfahrung zu ändern - nicht als Web-Spider. Während Sie Grease zu bekommen vielleicht in der Lage, dies mit GM_setValue zu tun, ich glaube, Sie Ihre Lösung zu entwickeln kludgy und schwer zu finden sein. Das, und es werden viele manuelle Schritte erfordern (wie alle diese Registerkarten, Löschen der Grease Variablen zwischen den Läufen des Skripts öffnen, etc).

Hat alles, was man auf der Seite, die JavaScript erforderlich macht ausgeführt werden? Wenn ja, möchten Sie vielleicht mit Perl und WWW :: Mechanize :: Plugin :: JavaScript . Ansonsten würde ich empfehlen, dass Sie in einem einfachen Python-Skript all dies zu tun. Sie werden einen Blick auf die urllib2 nehmen wollen Modul. Um zum Beispiel einen Blick auf den folgenden Code nehmen (beachten Sie, dass es cookielib verwendet Cookies zu unterstützen, die Sie wahrscheinlich benötigen, wenn Ihr Skript Sie erfordert in eine Website angemeldet sein):

import urllib2
import cookielib
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
response = opener.open("http://twitter.com/someguy")
responseText = response.read()

Dann können Sie die gesamte Verarbeitung tun Sie reguläre Ausdrücke verwenden möchten.

Haben Sie darüber nachgedacht Google Gears? Das würde Ihnen zu einem lokalen SQLite-Datenbank zuzugreifen, die Sie in den großen Mengen an Informationen speichern kann.

  

Der Grund für Grease wollen   tut, ist, dass zu der Seite gekrochen   nicht wirklich von Robotern genehmigen.   Grease schien die einfachste   Art und Weise des Crawler-Look zu machen   legitim.

Eigentlich Crawler über den Browser tainting macht es nicht, dass mehr legitim. Sie brechen immer noch die Nutzungsbedingungen der Website! WWW :: Mechanize zum Beispiel ist gleichermaßen gut geeignet für ‚Parodie‘ Ihre User-Agent-String, aber das und Crawling ist, wenn die Site Spinnen / Crawler nicht erlaubt, illegal!

  

Der Grund Greasemonkey für den Wunsch ist, dass die Seite gecrawlt wird nicht wirklich von Robotern genehmigen. Grease schien die einfachste Art und Weise der Crawler aussehen legitim zu machen.

Ich denke, dies ist die am härtesten erdenkliche Weise ein Crawler legitim aussehen. einen Web-Browser Spoofing ist mit einigen grundlegenden Verständnis von HTTP-Headern trivial einfach.

Auch haben einige Websites Heuristik, die für die Kunden suchen, die wie Spinnen verhalten, so einfach machen Anfragen wie Browser aussehen, bedeutet nicht, die nicht wissen, was Sie tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top