麻烦使用请求包python 3.2

时间:2016-11-08 15:46:43

标签: python python-3.x python-requests

我试图让一个基本的网络抓取脚本运行,只是为了测试一些事情,我注意到很多人推荐"请求"包所以我下载了它,但我收到了一些奇怪的回复,我希望有人可以帮我解释它们,因为我对python很新。

import requests
r = requests.get('http://www.python.org')
r.content

输出是这样的:

C:\Python32\python.exe "D:/Code Testing/Missing Time/webscraper.py"
Traceback (most recent call last):
  File "D:/Code Testing/Missing Time/webscraper.py", line 1, in <module>
    import requests
  File "C:\Python32\lib\site-packages\requests-2.11.1-py3.2.egg\requests\__init__.py", line 52, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "C:\Python32\lib\site-packages\requests-2.11.1-py3.2.egg\requests\packages\__init__.py", line 39, in <module>
    from . import idna
  File "C:\Python32\lib\site-packages\requests-2.11.1-py3.2.egg\requests\packages\idna\__init__.py", line 1, in <module>
    from .core import *
  File "C:\Python32\lib\site-packages\requests-2.11.1-py3.2.egg\requests\packages\idna\core.py", line 10
_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]')
                                                          ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:0)

请求模块版本2.11.1不支持Python 3.2 - 请参阅their PyPI page的结尾。您有几个选择:

  • 如果您控制桌面,最好是安装较新版本的Python。
  • 如果您不能这样做,并且没有为您安装更新版本的python的必要资金,您可以尝试使用旧版本的请求。关闭PyPI上的标签,1.0.0声称支持Python 3.2,但2.0.0版本没有。
  • 使用其他库。这将是不幸的,因为请求确实是一个优秀的HTTP库。

运行旧版本的库有一些非常真实的缺点,即缺少功能和安全性vunerabilities 的可能性。这不是理论上的可能性 - 例如,请参阅this CVE。有关详细信息,请参阅请求vulnerability disclosure page