用urllib(python3)挂在打开的url上

Evg*_*Evg 5 urllib python-3.x

我尝试用python3打开url:

import urllib.request
fp = urllib.request.urlopen("http://lebed.com/")

mybytes = fp.read()    
mystr = mybytes.decode("utf8")
fp.close()

print(mystr)
Run Code Online (Sandbox Code Playgroud)

但它挂在第二行.这个问题是什么原因以及如何解决?

Arp*_*nki 5

我想原因是该网址不支持机器人访问站点访问。您需要通过发送浏览器标头以及您的请求来伪造浏览器访问

import urllib.request
url = "http://lebed.com/"
req = urllib.request.Request(
    url, 
    data=None, 
    headers={
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
    }
)
f = urllib.request.urlopen(req)
Run Code Online (Sandbox Code Playgroud)

在我的系统上试过这个,它有效。