Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die Python-Webcrawler-Anforderungsbibliothek

So verwenden Sie die Python-Webcrawler-Anforderungsbibliothek

WBOY
WBOYnach vorne
2023-05-15 10:34:131146Durchsuche

1. Was ist ein Webcrawler? Vereinfacht ausgedrückt besteht er darin, ein Programm zum automatischen Herunterladen, Analysieren und Organisieren von Daten aus dem Internet zu erstellen.

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:

Taobao-Verkäufer müssen nützliche positive und negative Informationen aus massiven Bewertungen finden, um die Chance der Kunden besser nutzen zu können Einige Wissenschaftler haben Informationen auf Twitter, Weibo und anderen sozialen Medien analysiert, um einen Datensatz zu erstellen und so ein Vorhersagemodell zur Identifizierung von Depressionen und Selbstmordgedanken zu erstellen – damit natürlich mehr Menschen Hilfe benötigen Wir müssen auch Datenschutzfragen berücksichtigen – aber das ist doch cool, nicht wahr?

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

Ja! Webcrawler sind weit verbreitet und reichen vom täglichen Batch-Crawling von hochauflösenden Hintergrundbildern und Bildern bis hin zu Datenquellen für künstliche Intelligenz, Deep Learning und die Formulierung von Geschäftsstrategien.

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

Physische Schicht: einschließlich Ethernet-Protokoll, USB-Protokoll, Bluetooth-Protokoll usw.

Datenverbindungsschicht: einschließlich Ethernet-Protokoll

  1. Netzwerkschicht: einschließlich IP-Protokoll

  2. Transportschicht: einschließlich TCP- und UDP-Protokolle

  3. Sitzungsschicht: Enthält Protokolle zum Öffnen/Schließen und Verwalten von Sitzungen

  4. Präsentationsschicht: Enthält Protokolle zum Schutz von Formaten und zur Übersetzung von Daten

  5. Anwendungsschicht: Enthält HTTP- und DNS-Netzwerkdienstprotokolle

  6. Lassen Sie uns nun einen Blick darauf werfen, wie HTTP-Anfragen und -Antworten aussehen (da später benutzerdefinierte Anforderungsheader beteiligt sein werden:

  7. Anfrage). Zeile: Mehrere Anforderungsheader Viele Details im Inneren, denn das Anforderungspaket von Python hilft uns, unseren Crawl abzuschließen

  8. Natürlich können wir auch die von der Webseite zurückgegebenen Informationen für unsere Anfrage einsehen:
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)

    Wir wissen, dass Python tatsächlich vorab ist. Es gibt andere Bibliotheken für die Verarbeitung von HTTP – urllib und urllib3, aber die Anforderungsbibliothek ist einfacher zu erlernen – der Code ist einfacher und leichter zu verstehen. Wenn wir die Webseite erfolgreich crawlen und die Dinge extrahieren, die uns interessieren, werden wir natürlich eine weitere sehr nützliche Bibliothek erwähnen – Beautiful Soup – das ist eine weitere Geschichte
  • 1 Installation der Anforderungsbibliothek

  • Hier Sie können die .whl-Datei mit den zu installierenden Anforderungen direkt finden, oder wir können sie direkt mit pip installieren (wenn Sie Pycharm haben, können Sie es natürlich direkt vom Umgebungslader herunterladen)
  • 2. Praktischer Kampf

  • Jetzt Wir beginnen offiziell mit dem Crawlen der Webseite. Der Code lautet wie folgt: Ausgabeergebnisse Erste Codezeile: Laden Sie die Anforderungsbibliothek. Geben Sie die Website an, die gecrawlt werden soll. Das allgemeine Format lautet wie folgt:
  • 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

  • Natürlich können wir auch mehr Inhalte drucken
  • import requests
    target = 'https://www.baidu.com/'
    get_url = requests.get(url=target)
    print(get_url.status_code)
    print(get_url.text)
    200 //返回状态码200表示请求成功
    <!DOCTYPE html>//这里删除了很多内容,实际上输出的网页信息比这要多得多
    <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;
    charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge>
    <meta content=always name=referrer>
    <link rel=stylesheet type=text/css 
    src=//www.baidu.com/img/gs.gif> 
    </p> </div> </div> </div> </body> </html>

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen