这是我的代码:
import urllib2.request
response = urllib2.urlopen("http://www.google.com")
html = response.read()
print(html)
任何帮助吗?
这是我的代码:
import urllib2.request
response = urllib2.urlopen("http://www.google.com")
html = response.read()
print(html)
任何帮助吗?
当前回答
Python 3:
import urllib.request
wp = urllib.request.urlopen("http://google.com")
pw = wp.read()
print(pw)
Python 2:
import urllib
import sys
wp = urllib.urlopen("http://google.com")
for line in wp:
sys.stdout.write(line)
虽然我已经分别测试了两个代码的版本。
其他回答
对于使用Python 2(测试版本2.7.3和2.6.8)和Python 3(3.2.3和3.3.2+)的脚本,请尝试:
#! /usr/bin/env python
try:
# For Python 3.0 and later
from urllib.request import urlopen
except ImportError:
# Fall back to Python 2's urllib2
from urllib2 import urlopen
html = urlopen("http://www.google.com/")
print(html.read())
而不是使用:
import urllib2
在python3中使用下面的代码
import urllib.request as urllib2
正如urllib2文档中所述:
在Python 3中,urllib2模块被拆分为几个名为urllib的模块。请求和urllib.error。2to3工具将在将源代码转换为Python 3时自动适应导入。
所以你应该说
from urllib.request import urlopen
html = urlopen("http://www.google.com/").read()
print(html)
您现在编辑的代码示例是不正确的,因为您说的是urllib.urlopen(“http://www.google.com/”)而不是urlopen(“http://www.google.com/”)。
这在python3中很有效:
import urllib.request
htmlfile = urllib.request.urlopen("http://google.com")
htmltext = htmlfile.read()
print(htmltext)
上面的方法在3.3中对我不起作用。试试这个(YMMV,等等)
import urllib.request
url = "http://www.google.com/"
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
print (response.read().decode('utf-8'))