Lösung für den 403-Fehler im Python-Crawler

Y2J
Freigeben: 2017-05-15 10:58:08
Original
4130 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich relevante Informationen zum Python-Crawler zur Behebung des 403-Zugriffsverbotsfehlers vorgestellt

Python-Crawler zur Behebung des 403-Zugriffsverbotsfehlers

Beim Schreiben eines Crawlers in Python tritt bei html.getcode() das Problem des verbotenen 403-Zugriffs auf. Dies ist ein Verbot automatisierter Crawler auf der Website. Um dieses Problem zu lösen, müssen Sie das Python-Modul urllib2 verwenden

Das urllib2-Modul ist ein erweitertes Crawler-Modul. Wenn Sie beispielsweise url=http://blog.csdn.NET/qysh123 verbinden, liegt möglicherweise ein 403-Zugriffsverbotsproblem vor Verbindung

Um dieses Problem zu lösen, sind die folgenden Schritte erforderlich:

<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>
Nach dem Login kopieren

Unter anderem ist User-Agent ein browserspezifisches Attribut , das kann angezeigt werden, indem der Quellcode über den Browser angezeigt wird. Gehen Sie zu

und dann zu

html=urllib2.urlopen(req)
print html.read()
Nach dem Login kopieren

, um den gesamten Webseitencode herunterzuladen, ohne das Problem des verbotenen 403-Zugriffs.

Für die oben genannten Probleme kann es in eine Funktion gekapselt werden, um zukünftige Anrufe zu erleichtern. Der spezifische Code:

#-*-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): 
  &#39;&#39;&#39;&#39;&#39; 
  @获取403禁止访问的网页 
  &#39;&#39;&#39; 
  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)
Nach dem Login kopieren

Die Zufallsfunktion wird zum automatischen Abrufen verwendet Für gute Browser-Benutzer-Agent-Informationen müssen Sie Ihre eigenen Host-, Referrer-, GET-Informationen usw. in die benutzerdefinierte Funktion schreiben. Wenn Sie diese Probleme lösen, können Sie problemlos darauf zugreifen 403-Zugangsinformationen werden nicht mehr angezeigt.

Wenn die Zugriffsfrequenz zu schnell ist, werden einige Websites natürlich trotzdem gefiltert. Um dieses Problem zu lösen, müssen Sie eine Proxy-IP-Methode verwenden. . . Lösen Sie es gezielt selbst

[Verwandte Empfehlungen]

1. Besondere Empfehlung: „php Programmer Toolbox“ V0. 1 Version herunterladen

2. Kostenloses Python-Video-Tutorial

3 Video-Tutorial zur Anwendung von Python in der Datenwissenschaft

Das obige ist der detaillierte Inhalt vonLösung für den 403-Fehler im Python-Crawler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!