问题
I'm having quite a bit of trouble with Python's documentation. Is there anything like the Mozilla Developer Network for it?
I'm doing a Python puzzle website and I need to be able to read the content of the page. I saw the following posted on a site:
import urllib2
urlStr = 'http://www.python.org/'
try:
fileHandle = urllib2.urlopen(urlStr)
str1 = fileHandle.read()
fileHandle.close()
print ('-'*50)
print ('HTML code of URL =', urlStr)
print ('-'*50)
except IOError:
print ('Cannot open URL %s for reading' % urlStr)
str1 = 'error!'
print (str1)
It keeps saying that there is no urllib2 module.
The Python documentation says
The urllib module has been split into parts and renamed in Python 3.0 to urllib.request, urllib.parse, and urllib.error. The 2to3 tool will automatically adapt imports when converting your sources to 3.0. Also note that the urllib.urlopen() function has been removed in Python 3.0 in favor of urllib2.urlopen().
I tried importing urllib.request too, but it ssays urllib 2 is defined... WTF is going on here?
Version 3.2.2
回答1:
The documentation you were probably referencing was the Python 2 documentation for urllib2. The documentation you should probably be using is the Python 3 documentation for urllib.request.
回答2:
Using urllib.request.open(), as recommended in Dive into Python 3...
Python 3.2.1 (default, Jul 24 2011, 22:21:06)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib.request
>>> urlStr = 'http://www.python.org/'
>>> fileHandle = urllib.request.urlopen(urlStr)
>>> print(fileHandle.read()[:100])
b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm'
来源:https://stackoverflow.com/questions/7617661/python-read-page-from-url-better-documentation