用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 解决方案

谢谢你,杰森。 :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())

原文由 Andrew 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 613
2 个回答

因为您使用的是 Python 3.1,所以您需要使用新的 Python 3.1 API

尝试:

 urllib.request.urlopen('http://www.python.org/')

或者,看起来您正在使用 Python 2 示例。用Python 2写,然后用2to3工具转换。在 Windows 上,2to3.py 位于 \python31\tools\scripts 中。其他人可以指出在其他平台上哪里可以找到 2to3.py 吗?

编辑

这些天,我使用 6 个来编写与 Python 2 和 3 兼容的代码。

 from six.moves import urllib
urllib.request.urlopen('http://www.python.org')

假设你安装了六个,它们在 Python 2 和 Python 3 上运行。

原文由 Jason R. Coombs 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您正在编写一个从 PyPI 安装包的项目,那么执行此操作的最佳和最常见的库是 requests 。它提供了许多方便但强大的功能。像这样使用它:

 import requests
response = requests.get('http://hiscore.runescape.com/index_lite.ws?player=zezima')
print (response.status_code)
print (response.content)

但是如果您的项目没有安装自己的依赖项,即仅限于标准库内置的东西,那么您应该参考其他答案之一。

原文由 Jonathan Hartley 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题