Heim > Artikel > Backend-Entwicklung > Der Python-Crawler verwendet einen Proxy zum Crawlen von Webseiten
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