Frage

Ich schreibe einen Crawler. Sobald nach den Crawler-Logs in eine Website möchte ich den Crawler machen „stay-immer-logged-in“. Wie kann ich das machen? Ist ein Client (wie Browser, Crawler etc.) einen Server machen, diese Regel zu befolgen? Dieses Szenario könnte auftreten, wenn der Server begrenzt Anmeldungen in Tag erlaubt.

War es hilfreich?

Lösung

„Angemeldete im Zustand“ wird in der Regel durch Cookies vertreten. Also, was Ihr tun müssen, ist die Cookie-Informationen, die von diesem Server auf Login gesendet zu speichern, dann das Cookie senden mit jedem Ihrer nachfolgenden Anforderungen (wie von Aiden Glocke in seiner Botschaft erwähnt, thx).

Siehe auch diese Frage:

Wie "Keep-Alive" mit cookielib und httplib in Python ?

Ein umfassender Artikel darüber, wie es zu implementieren:

http://www.voidspace.org.uk/python/articles /cookielib.shtml

Die einfachsten Beispiele sind an der Unterseite des Handbuchs Seite:

https://docs.python.org/library/cookielib.html

Sie können auch einen normalen Browser (wie Firefox) manuell einloggen. Dann werden Sie in der Lage sein, das Cookie von diesem Browser zu speichern und verwenden, die in Ihrem Crawler. Aber solche Cookies sind in der Regel gilt nur für eine begrenzte Zeit, so ist es nicht eine langfristige vollautomatische Lösung. Es kann sehr nützlich sein für die Inhalte von einer Website einmal herunterzuladen, aber.

UPDATE:

Ich habe gerade ein weiteres interessantes Werkzeug in einer aktuellen Frage:

http://www.scrapy.org

Es kann auch solche Cookies in Ihrem Browser Login tun:

http: // doc .scrapy.org / Themen / Nachfrage-response.html # Themen-Request-Response-ref-Anfrage-Benutzeranmeldung

Die Frage, die ich erwähnt ist hier:

Scrapy domain_name für Spinne

Hope, das hilft.

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