我尝试编写代码,可以打开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'
我的代码出了什么问题,问题的解决方案是什么?
答案 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