Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich das Requests-Modul zum Crawlen von Webseiten?

Wie verwende ich das Requests-Modul zum Crawlen von Webseiten?

WBOY
WBOYnach vorne
2023-04-11 22:37:181872Durchsuche

Beim Crawlen von Webseiten geht es eigentlich darum, Webseiteninformationen über die URL abzurufen. Das Wesentliche an Webseiteninformationen ist ein Stück HTML-Code mit hinzugefügtem JavaScript und CSS. Python bietet ein Drittanbietermodul, Anfragen, zum Erfassen von Webseiteninformationen. Das Anfragemodul nennt sich „HTTP für Menschen“, was wörtlich übersetzt ein HTTP-Modul bedeutet, das speziell für Menschen entwickelt wurde. Dieses Modul unterstützt das Senden von Anfragen und das Erhalten von Antworten.

1. Eine Anfrage senden

Das Anfragemodul bietet viele Funktionen zum Senden von HTTP-Anfragen. Die häufig verwendeten Anfragefunktionen sind in Tabelle 10-1 aufgeführt.

Tabelle 10-1 Anforderungsfunktion des Anforderungsmoduls

Wie verwende ich das Requests-Modul zum Crawlen von Webseiten?

2. Holen Sie sich die Antwort

Das vom Anforderungsmodul bereitgestellte Antwortklassenobjekt wird verwendet, um dynamisch auf die Anforderung des Clients zu reagieren und die an den Benutzer gesendeten Informationen zu steuern , und wird dynamisch generiert Antwort, einschließlich Statuscode, Webseiteninhalt usw. Als nächstes wird eine Tabelle verwendet, um die Informationen aufzulisten, die die Response-Klasse erhalten kann, wie in Tabelle 10-2 gezeigt.

Tabelle 10-2 Gemeinsame Attribute der Response-Klasse

Wie verwende ich das Requests-Modul zum Crawlen von Webseiten?

Als Nächstes demonstrieren wir anhand eines Falls, wie das Anforderungsmodul zum Crawlen von Baidu-Webseiten verwendet wird:

# 01 requests baidu
import requests
base_url = 'http://www.baidu.com'
#发送GET请求
res = requests.get (base_url)
print("响应状态码:{}".format(res.status_code))#获取响应状态码
print("编码方式:{}".format(res.encoding))#获取响应内容的编码方式
res.encoding = 'utf-8'#更新响应内容的编码方式为UIE-8
print("网页源代码:n{}".format(res.text)) #获取响应内容

In der Im obigen Code wird Zeile 2 mithilfe des Importanforderungsmoduls importiert. Die Zeilen 3 bis 4 des Codes senden eine GET-Anfrage basierend auf der URL und verwenden die Variable res, um den vom Server zurückgegebenen Antwortinhalt zu empfangen Der Code druckt den Statuscode und die Codierungsmethode des Antwortinhalts. In Zeile 7 wird die Codierungsmethode des Antwortinhalts in „utf-8“ geändert. Führen Sie das Programm aus. Die Ausgabe des Programms lautet wie folgt:

响应状态码:200
编码方式:ISO-8859-1
网页源代码:
<!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 href=http://s1.bdstatic.
com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head>
<body link=#0000cc>…省略N行…</body></html>

Es ist erwähnenswert, dass bei der Verwendung des Anforderungsmoduls zum Crawlen von Webseiten verschiedene Ausnahmen auftreten können, beispielsweise aufgrund fehlender Netzwerkverbindung, Serververbindungsfehler usw. Die beiden häufigsten Ausnahmen sind URLError und HTTPError. Diese Netzwerkausnahmen können mit der try...exclusive-Anweisung erfasst und behandelt werden.

Das obige ist der detaillierte Inhalt vonWie verwende ich das Requests-Modul zum Crawlen von Webseiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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