Python read page from URL? Better documentation?

2019-07-26 17:59发布

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

2条回答
可以哭但决不认输i
2楼-- · 2019-07-26 18:25

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.

查看更多
等我变得足够好
3楼-- · 2019-07-26 18:39

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'
查看更多
登录 后发表回答