2017-03-02 2 views
0
import urllib2 

    def download(url,user_agent = 'wswp',num_retries=2): 
     print 'downloading:',url 
     headers = {'User-Agent': 'Mozilla/5.0'} 
     request = urllib2.Request(url,headers=headers) 
     try: 
      html = urllib2.urlopen(request).read() 
     except urllib2.URLError as e: 
      print "download error:" 
      html = None 
      if num_retries>0: 
       if hasattr(e,'code') and 500<=e.code<600: 
        print "e.code = ",e.code 
        return download(url,num_retries-1) 
     return html 
    print download("http://www.huaru.cc/mobile/product/xsim.html") 

das Ergebnis: C: \ Python27 \ python.exe E:/py2_7/untitled1/secondClass_Agent Herunterladen: http://www.huaru.cc/mobile/product/xsim.htmlPython urllib2 können auf einigen Seiten nicht funktionieren

Prozess mit Exit-Code beendet 0

+2

Funktioniert an meiner Maschine. Nachdem ich den Einzug behoben habe. –

+0

Funktioniert auch an meiner Maschine. Überprüfen Sie Ihren Einzug. – sangheestyle

+0

Hallo, Sie meinen, Sie können den gesamten Code dieser Website herunterladen? kannst du dein ergebnis einfügen? danke. –

Antwort

0

In Python ist der Einzug der Schlüssel.

import urllib2 


def download(url,user_agent = 'wswp',num_retries=2): 
    print('downloading:', url) 
    headers = {'User-Agent': 'Mozilla/5.0'} 
    request = urllib2.Request(url, headers=headers) 
    try: 
     html = urllib2.urlopen(request).read() 
    except urllib2.URLError as e: 
     print("download error: {}".format(e)) 
     html = None 
     if num_retries > 0: 
      if hasattr(e, 'code') and 500 <= e.code < 600: 
       print("e.code = ", e.code) 
       return download(url, num_retries-1) 
    return html 

print download("http://www.huaru.cc/mobile/product/xsim.html") 

Und es zeigt, wie die folgenden:

('downloading:', 'http://www.huaru.cc/mobile/product/xsim.html') 
download error: HTTP Error 404: Not Found 
None 

Dies ist, weil die Webseite zurückkehren ist 404.

Es auf Python getestet ist 2.7.10 und 3.6

prüfen PEP8: https://www.python.org/dev/peps/pep-0008/#id17

+0

Ich habe den Einzug begriffen, aber ich weiß nicht, wie ich ihn korrigieren kann. Tut mir leid. Ich habe immer noch Fehler mit dem Code, den Sie einfügen. Kannst du dein Ergebnis mit diesem Code einfügen? Vielen Dank. –

+0

@ Zhang.h Keine Sorgen. Sie müssen sich nicht entschuldigen. Versuchen Sie es stattdessen erneut. Ich habe meinen Code geändert, um Ihnen zu zeigen, was der Fehler ist. Definitiv gibt die URL HTTP 404 zurück, was bedeutet, dass sie nicht gefunden wurde. Ich fand, dass die Webseite 404 zeigt. – sangheestyle

Verwandte Themen