怎样用Python获取网页内容?
我正在使用Python 3.1,如果这有帮助的话。
总之,我想获取这个网页的内容。我在网上查了一下,尝试了不同的方法,但都没有成功。我觉得这应该是个简单的任务,但...我就是搞不定。:/
使用urllib和urllib2的结果:
>>> import urllib2
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import urllib2
ImportError: No module named urllib2
>>> import urllib
>>> urllib.urlopen("http://www.python.org")
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
urllib.urlopen("http://www.python.org")
AttributeError: 'module' object has no attribute 'urlopen'
>>>
Python 3的解决方案
谢谢你,Jason。:D
import urllib.request
page = urllib.request.urlopen('http://services.runescape.com/m=hiscore/ranking?table=0&category_type=0&time_filter=0&date=1519066080774&user=zezima')
print(page.read())
8 个回答
9
如果你问我的话,试试这个吧
import urllib2
resp = urllib2.urlopen('http://hiscore.runescape.com/index_lite.ws?player=zezima')
然后按照正常的方式阅读,也就是
page = resp.read()
祝你好运哦
61
如果你正在写一个从PyPI安装软件包的项目,那么最好的、最常用的库就是requests。这个库提供了很多方便又强大的功能。你可以这样使用它:
import requests
response = requests.get('http://hiscore.runescape.com/index_lite.ws?player=zezima')
print (response.status_code)
print (response.content)
但是,如果你的项目不安装自己的依赖项,也就是说只使用标准库里自带的东西,那么你应该看看其他的答案。
35
因为你在使用Python 3.1,所以你需要用新的Python 3.1接口。
你可以试试:
urllib.request.urlopen('http://www.python.org/')
另外,看起来你是在参考Python 2的例子。你可以先用Python 2写代码,然后用2to3工具把它转换成Python 3。在Windows系统上,2to3.py文件在\python31\tools\scripts文件夹里。有没有人能告诉我在其他平台上怎么找到2to3.py?
编辑
现在,我写的代码可以同时在Python 2和3上运行,使用的是six这个库。
from six.moves import urllib
urllib.request.urlopen('http://www.python.org')
假设你已经安装了six,它可以在Python 2和Python 3上都能运行。