Genau wie beim Surfen im Internet kopieren wir die Inhalte, die uns interessieren, und fügen sie in unsere Notizbücher ein, um das Lesen und Durchsuchen beim nächsten Mal zu erleichtern – der Webcrawler hilft uns dabei, diese Inhalte automatisch zu vervollständigen
Natürlich, wenn wir auf welche stoßen Websites, die nicht kopiert und eingefügt werden können – Webcrawler können ihre Leistungsfähigkeit noch besser zur Geltung bringen.
Warum brauchen wir Webcrawler? Zu diesem Zeitpunkt benötigen wir einen Webcrawler, der uns dabei hilft, diese Daten automatisch zu crawlen (natürlich werden wir die nutzlosen Dinge auf der Webseite herausfiltern). Eine Reihe von Anwendungen, von denen viele zum Bereich der Datenwissenschaft gehören:
Als Ingenieur für künstliche Intelligenz haben sie die Bilder der Freiwilligenpräferenzen von Ins gecrawlt, um das Deep-Learning-Modell zu trainieren, um vorherzusagen, ob die gegebenen Bilder den Freiwilligen gefallen werden – Mobiltelefonhersteller. Integrieren Sie diese Modelle in ihre Foto-App, gepusht zu dir. Die Datenwissenschaftler der E-Commerce-Plattform durchsuchen die Informationen der von Benutzern durchsuchten Produkte, führen Analysen und Vorhersagen durch, um die Produkte voranzutreiben, die die Benutzer am meisten kennen und kaufen möchten
Dieses Zeitalter ist das Zeitalter der Daten, und Daten sind das „neue Öl“
2. Netzwerkübertragungsprotokoll HTTP
Ja, wenn es um Webcrawler geht, ist es natürlich HTTP, das wir nicht vermeiden können Es ist nicht erforderlich, dass Netzwerkingenieure alle Aspekte der Protokolldefinition verstehen, aber als Einführung müssen wir dennoch über ein gewisses Verständnis verfügen
Die Internationale Organisation für Normung ISO verwaltet das Referenzmodell für die Verbindung offener Kommunikationssysteme OSI und Dieses Modell unterteilt die Computerkommunikationsstruktur in sieben Schichten
Datenverbindungsschicht: einschließlich Ethernet-Protokoll
Netzwerkschicht: einschließlich IP-Protokoll
Transportschicht: einschließlich TCP- und UDP-Protokolle
Sitzungsschicht: Enthält Protokolle zum Öffnen/Schließen und Verwalten von Sitzungen
Präsentationsschicht: Enthält Protokolle zum Schutz von Formaten und zur Übersetzung von Daten
Anwendungsschicht: Enthält HTTP- und DNS-Netzwerkdienstprotokolle
Lassen Sie uns nun einen Blick darauf werfen, wie HTTP-Anfragen und -Antworten aussehen (da später benutzerdefinierte Anforderungsheader beteiligt sein werden:
Anfrage). Zeile: Mehrere Anforderungsheader Viele Details im Inneren, denn das Anforderungspaket von Python hilft uns, unseren Crawl abzuschließen
GET https://www.baidu.com/?tn=80035161_1_dg HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-GB;q=0.5,en;q=0.3 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362 Accept-Encoding: gzip, deflate, br Host: www.baidu.com Connection: Keep-Alive
3. Studenten, die kein theoretisches Wissen mögen, können kommen hier direkt)
1 Installation der Anforderungsbibliothek
2. Praktischer Kampf
HTTP/1.1 200 OK //这边的状态码为200表示我们的请求成功 Bdpagetype: 2 Cache-Control: private Connection: keep-alive Content-Encoding: gzip Content-Type: text/html;charset=utf-8 Date: Sun, 09 Aug 2020 02:57:00 GMT Expires: Sun, 09 Aug 2020 02:56:59 GMT X-Ua-Compatible: IE=Edge,chrome=1 Transfer-Encoding: chunked
Vierte Codezeile: Geben Sie den Statuscode der Anfrage zurück. Geben Sie den entsprechenden Inhaltstext aus
import requests target = 'https://www.baidu.com/' get_url = requests.get(url=target) print(get_url.status_code) print(get_url.text)
200 //返回状态码200表示请求成功 //这里删除了很多内容,实际上输出的网页信息比这要多得多
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Python-Webcrawler-Anforderungsbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!