Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont les robots d'exploration Python utilisent le proxy pour explorer les pages Web

Explication détaillée de la façon dont les robots d'exploration Python utilisent le proxy pour explorer les pages Web

高洛峰
高洛峰original
2017-03-19 14:43:461983parcourir

Type de proxy (proxy) : proxy transparent, proxy anonyme, proxy de confusion et proxy à haut anonymat. Voici quelques connaissances sur les robots python utilisant des proxys et une classe de pool de proxy. C'est pratique pour tout le monde. pour traiter divers aspects du travail. Un problème d'exploration complexe.

Le module urllib utilise un proxy

L'utilisation d'un proxy pour urllib/urllib2 est plus gênante. Vous devez d'abord créer une classe ProxyHandler, puis utiliser cette classe pour créer la classe d'ouverture qui s'ouvre. la page Web, puis utilisez-la dans la demande Installer l'ouvreur.

Le format du proxy est "http://127.0.0.1:80". Si vous voulez le mot de passe du compte, c'est "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)

le module de requêtes utilise un proxy

les requêtes utilisent un proxy beaucoup plus simple que urllib... Voici un seul proxy à titre d'exemple. S'il est utilisé plusieurs fois, vous pouvez utiliser session pour le créer.

Si vous devez utiliser un proxy, vous pouvez configurer une seule requête en fournissant le paramètre proxy à n'importe quelle méthode de requête. :

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

Vous pouvez également passer les variables d'environnement HTTP_PROXY et HTTPS_PROXY Configurer le proxy.

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

Si votre proxy doit utiliser HTTP Basic Auth, vous pouvez utiliser http://user:password@host/ Syntaxe :

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

L'utilisation du proxy de Python est très simple. Le plus important est de trouver un agent avec un réseau stable et fiable. Si vous avez des questions, n'hésitez pas à laisser un message

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn