urlopen不适用于python3

时间:2015-06-01 06:22:32

标签: python-3.x urllib

我正在尝试从网址中获取数据。我在Python 2.7中尝试了以下内容:

import urllib2 as ul
response = ul.urlopen("http://in.bookmyshow.com/")
page_content = response.read()
print page_content

这很好用。但是当我在Python 3.4中尝试它时,它会抛出一个错误:

File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
    return opener.open(url, data, timeout)

我正在使用:

import urllib.request
response = urllib.request.urlopen('http://in.bookmyshow.com/')
data = response.read()
print data

1 个答案:

答案 0 :(得分:1)

它适用于我(Python 3.4.3)。您需要在Python 3中使用print(data)

作为旁注,您可能还需要考虑requests,这样可以更轻松地通过HTTP(S)进行交互。

>>> import requests
>>> r = requests.get('http://in.bookmyshow.com/')
>>> r.ok
True
>>> plaintext = r.text

最后,如果您想从这些复杂的页面(打算显示,而不是API)中获取数据,您应该查看Scrapy,这将使您的生活更轻松。