CookieMan kann sagen, dass es eng mit unserem Leben verbunden ist. Wenn Sie auf Taobao einkaufen, sind diese empfohlenen Produkte die Meisterwerke von Cookie.
Im vorherigen Artikel haben wir die Grundfunktionen von Selenium+PhantomJs erklärt. Heute bieten wir Ihnen eine Einführung in Cookies und eine simulierte Anmeldedemonstration.
Was sind Cookies?
bezieht sich in der Computerterminologie auf eine Methode, die es dem Website-Server ermöglicht, eine kleine Datenmenge auf der Festplatte oder im Speicher des Clients zu speichern oder Daten daraus zu lesen die Festplatte des Kunden.
Öffnen Sie die Entwicklertools von Chrome (F12), klicken Sie auf Netzwerk, klicken Sie auf eine Anforderungs-URL. In den Anforderungsheadern werden Cookie-Informationen angezeigt. Natürlich können wir im obigen Antwortheader eine Set-Cookie-Information sehen, bei der es sich um einige Informationen über den Server handelt, der Cookies im Browser setzt, wie z. B. Cookie-Bereich, Zeit usw.
Zweck von Cookies
Speicherung der Benutzeranmeldeinformationen, um festzustellen, ob der Benutzer angemeldet ist;
Cookies werden von der gespeichert Server auf den Client-Informationen. Diese Informationen werden vom Server generiert und interpretiert.
Bei der Anfrage muss der Client zeitlich unbegrenzte Cookies an den Server senden. Der Server muss Cookies analysieren, um Benutzerinformationen zu ermitteln.
Unser Browser speichert automatisch Cookies, wenn Sie im Internet surfen. Wenn Sie beispielsweise den Browserverlauf löschen, werden Cookie-Informationen angezeigt.
Cookies bringen uns viel Komfort. Sie können auch unsere Browsing-Footprints und die Verweildauer auf der Seite aufzeichnen. Wenn Sie beispielsweise verrückt nach Taobao sind, werden Taobaos Empfehlungen für Produkte, die Ihnen gefallen, auf Grundlage Ihrer Cookies generiert, um herauszufinden, welche Produkte Sie durchsucht haben.
Simulierte Anmeldedemonstration
Nehmen wir Zhihu als Beispiel. https://www.zhihu.com/people/yu-kun-73/answers
Diese URL ist meine Zhihu-Informationsseite. Natürlich können Sie Ihre eigene Zhihu-Seite als Beispiel verwenden. Wenn wir ihn direkt besuchen, sehen wir oben den Login-Button, aber ich bin bereits angemeldet und greife zu. Der Login-Button wird nicht angezeigt, aber einige Links zu persönlichen Bearbeitungsprofilen.
Was wäre also, wenn wir für den Zugriff einen Crawler verwenden würden?
import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36' } url = 'https://www.zhihu.com/people/yu-kun-73/answers' resp = requests.get(url, headers=headers).text print(resp)
Anhand der gedruckten Ergebnisse können wir sehen, dass es im HTML-Code eine Anmeldeschaltfläche gibt. Dies beweist, dass wir auf dieser Seite nicht angemeldet sind. Wenn wir also einige Websites crawlen, die zum Crawlen von Daten ein Anmeldekonto erfordern, müssen wir das Anmeldeproblem lösen. So implementieren Sie die Anmeldung.
Die Antwort sind unsere Cookies. Wir haben in einem früheren Artikel gesagt, dass die Anforderungsbibliothek beim Umgang mit Cookies sehr einfach ist. Wir müssen lediglich Anforderungscookies hinzufügen, so wie wir „User-Agent“ hinzugefügt haben.
import requests headers = { 'Cookie': # 你的登录过后的浏览器cookies, 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36' } url = 'https://www.zhihu.com/people/yu-kun-73/answers' resp = requests.get(url, headers=headers).text print(resp)
Wenn wir uns die Druckinformationen noch einmal ansehen, sehen wir einen Link zum Bearbeiten persönlicher Daten. Dies bedeutet, dass wir uns erfolgreich angemeldet haben. Ist das nicht ganz einfach? Keine Sorge, der schwierige Teil kommt später.
Endlich
Wenn wir uns also bei einigen komplexen Websites wie Sina Weibo anmelden möchten, bei denen eine Anmeldung erforderlich ist, um Informationen zu erhalten, funktioniert die Verwendung von Cookies zur Anmeldung definitiv nicht. Da diese Websites die Algorithmen einiger Websites häufig aktualisieren, verfallen unsere Cookies nach einer Weile. Daher müssen wir unsere Anmeldeinformationen auf der Anmeldeseite dieser Websites veröffentlichen.
Diese Anmeldeinformationsparameter werden im Allgemeinen in den Formulardaten unter dem Anforderungsheader der Anmeldeseite gespeichert. Solange wir diese Informationen veröffentlichen, können wir uns reibungslos anmelden. Wenn Sie jedoch auf einen Bestätigungscode stoßen, kann dies sehr problematisch sein. Das Problem des Verifizierungscodes war schon immer ein Hindernis für das Testen von Crawlern. Lassen Sie uns das selbst untersuchen.
Das obige ist der detaillierte Inhalt vonCookie-Einführung und simulierte Anmeldedemonstration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!