Schreiben Crawler, der angemeldet bleiben mit jedem Server
-
05-07-2019 - |
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.
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:
Es kann auch solche Cookies in Ihrem Browser Login tun:
Die Frage, die ich erwähnt ist hier:
Hope, das hilft.