如何打开url源代码?

时间:2013-12-23 21:02:19

标签: python

我尝试编写代码,可以打开url连接并从响应中读取文本。我试过了:

import urllib

urllib.urlopen('http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345')

但它给了我这个错误:

Traceback (most recent call last):
  File "<pyshell#40>", line 1, in <module>
    urllib.urlopen('http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345')
AttributeError: 'module' object has no attribute 'urlopen'

我的代码出了什么问题,问题的解决方案是什么?

2 个答案:

答案 0 :(得分:4)

我认为问题在于您使用的是Python 3.x,但使用的代码仅适用于2.x。

在Python 3.x中,urlopen函数包含在urllib.request

>>> from urllib.request import urlopen
>>> urlopen
<function urlopen at 0x020DA7C8>
>>>

修改

我认为这可以做你想做的一切:

from urllib.request import urlopen
page = urlopen('http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345').read()
print(page)

答案 1 :(得分:2)

尝试“请求”。使用起来要容易得多。

http://www.python-requests.org/en/latest/user/quickstart/

import requests
r = requests.get('http://www.pythonchallenge.com/pc/def/linkedlist.php', params={
    'nothing':'12345'
})
print r.text