Heim  >  Artikel  >  Backend-Entwicklung  >  Der Python-Crawler verwendet einen Proxy zum Crawlen von Webseiten

Der Python-Crawler verwendet einen Proxy zum Crawlen von Webseiten

大家讲道理
大家讲道理Original
2016-11-07 10:59:512077Durchsuche

Proxy-Typ (Proxy): Transparenter Proxy, anonymer Proxy, Verwirrungs-Proxy und Proxy mit hoher Anonymität. Hier finden Sie einige Kenntnisse über die Verwendung von Proxys durch Python-Crawler und eine Proxy-Pool-Klasse, die für jeden praktisch ist Krabbelprobleme bei der Arbeit.

Das urllib-Modul verwendet einen Proxy

Die Verwendung eines Proxys für urllib/urllib2 ist problematischer. Sie müssen zuerst eine ProxyHandler-Klasse erstellen und diese Klasse dann verwenden, um die zu öffnende Opener-Klasse zu erstellen Öffnen Sie die Webseite und verwenden Sie sie dann in der Anfrage. Installieren Sie den Öffner.

Das Proxy-Format ist „http://127.0.0.1:80“. Wenn Sie das Kontokennwort wünschen, lautet es „http:/“. /user:password@127.0.0.1:80".

proxy="http://127.0.0.1:80"

# 创建一个ProxyHandler对象
proxy_support=urllib.request.ProxyHandler({'http':proxy})
# 创建一个opener对象
opener = urllib.request.build_opener(proxy_support)
# 给request装载opener
urllib.request.install_opener(opener)
# 打开一个url
r = urllib.request.urlopen('http://youtube.com',timeout = 500)

Anforderungsmodul verwendet Proxy

Die Verwendung eines Proxys für Anfragen ist viel einfacher als urllib ... Hier verwenden wir einen einzelnen Proxy. Beispielsweise können mehrere Male mithilfe der Sitzungsklasse erstellt werden.

Wenn Sie einen Proxy verwenden müssen, können Sie einen einzelnen konfigurieren Anfrage durch Bereitstellung von Proxy-Parametern für jede Anfragemethode:

import requests
proxies = {
  "http": "http://127.0.0.1:3128",
  "https": "http://127.0.0.1:2080",
}
r=requests.get("http://youtube.com", proxies=proxies)
print r.text

Sie können auch: Der Proxy wird über die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY konfiguriert.

export HTTP_PROXY="http://127.0.0.1:3128"
export HTTPS_PROXY="http://127.0.0.1:2080"
python
>>> import requests
>>> r=requests.get("http://youtube.com")
>>> print r.text

Wenn Ihr Proxy HTTP Basic Auth verwenden muss, können Sie http://user:password@host/ verwenden. Syntax:

proxies = {
    "http": "http://user:pass@127.0.0.1:3128/",
}

Pythons Proxy ist sehr einfach zu verwenden . Das Wichtigste ist, einen Agenten mit einem stabilen und zuverlässigen Netzwerk zu finden. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn