Maison > Article > développement back-end > Solution à l'erreur 403 dans le robot d'exploration Python
Cet article présente principalement les informations pertinentes sur le robot d'exploration Python pour résoudre l'erreur d'accès interdit 403. Les amis qui en ont besoin peuvent s'y référer
Le robot d'exploration Python pour résoudre l'erreur d'accès interdit 403
Lors de l'écriture d'un robot en Python, html.getcode() rencontrera le problème de l'accès interdit 403. Il s'agit d'une interdiction des robots automatisés sur le site Web. Pour résoudre ce problème, vous devez utiliser le module python urllib2. Le module urllib2 est un module d'exploration avancé. Il existe de nombreuses méthodes. Par exemple, si vous vous connectez url=http://blog.csdn.NET/qysh123, il peut y avoir un problème d'accès interdit 403 pour cela. connexion
<span style="font-size:18px;">req = urllib2.Request(url) req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36") req.add_header("GET",url) req.add_header("Host","blog.csdn.net") req.add_header("Referer","http://blog.csdn.net/")</span>Parmi elles, User-Agent est un puis
html=urllib2.urlopen(req) print html.read()pour télécharger tout le code de la page Web sans problème d'accès interdit 403. Pour les problèmes ci-dessus, il peut être encapsulé dans une
fonction pour faciliter les appels futurs. Le code spécifique :
#-*-coding:utf-8-*- import urllib2 import random url="http://blog.csdn.net/qysh123/article/details/44564943" my_headers=["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)" ] def get_content(url,headers): ''''' @获取403禁止访问的网页 ''' randdom_header=random.choice(headers) req=urllib2.Request(url) req.add_header("User-Agent",randdom_header) req.add_header("Host","blog.csdn.net") req.add_header("Referer","http://blog.csdn.net/") req.add_header("GET",url) content=urllib2.urlopen(req).read() return content print get_content(url,my_headers)La fonction aléatoire est utilisée pour obtenir automatiquement. l'écrit Pour de bonnes informations sur l'agent utilisateur de type navigateur, vous devez écrire vos propres informations sur l'hôte, le référent, GET, etc. dans la
fonction personnalisée Si vous résolvez ces problèmes, vous pouvez y accéder en douceur et. n'apparaissent plus.
Recommandation spéciale : "boîte à outils du programmeur php" V0. 1 version à télécharger
2. 3Tutoriel vidéo sur l'application de Python en science des données
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!