推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xdcr
V2EX  ›  Python

requests 抓取网页,在 python shell 运行正常,文件执行报错,求原因

  •  
  •   xdcr · Apr 24, 2015 · 12652 views
    This topic created in 4061 days ago, the information mentioned may be changed or developed.
    python shell运行正常

    import requests
    r = requests.get('https://www.google.com')
    r.content

    存为文件python google.py运行报错

    r = requests.get('https://www.google.com')
    File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 60, in get
    return request('get', url, **kwargs)
    File "/usr/local/lib/python2.7/site-packages/requests/api.py", line 49, in request
    return session.request(method=method, url=url, **kwargs)
    File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 457, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 569, in send
    r = adapter.send(request, **kwargs)
    File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 362, in send
    timeout=timeout
    File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 516, in urlopen
    body=body, headers=headers)
    File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 304, in _make_request
    self._validate_conn(conn)
    File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 722, in _validate_conn
    conn.connect()
    File "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connection.py", line 169, in connect
    self.sock = ssl.wrap_socket(conn, self.key_file, self.cert_file)
    AttributeError: 'NoneType' object has no attribute 'wrap_socket'
    16 replies    2015-05-13 14:54:00 +08:00
    aru
        1
    aru  
       Apr 24, 2015
    也许你的系统变量里面设了代理?
    换个网站试试,比如 www.intel.com
    xdcr
        2
    xdcr  
    OP
       Apr 24, 2015
    @aru 代理在路由,系统没设置。
    http的没问题,只要是https就不行。
    xia0chun
        3
    xia0chun  
       Apr 24, 2015
    你的requests版本是多少?
    升级一下试试
    sty
        4
    sty  
       Apr 24, 2015
    http明文,https加密
    aru
        5
    aru  
       Apr 24, 2015
    r = requests.get('https://www.google.com',verify=False)

    也许是证书验证问题,你试试上面的代码
    xdcr
        6
    xdcr  
    OP
       Apr 24, 2015
    @xia0chun 2.4.3


    @sty 我搞不懂为什么python shell正常,文件就是不行
    xdcr
        7
    xdcr  
    OP
       Apr 24, 2015
    @aru 试过,一样

    感觉和ssl相关的库的问题
    xdcr
        8
    xdcr  
    OP
       Apr 24, 2015
    @xia0chun 换2.6.2报错requests.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available.
    在python shell依然正常
    xia0chun
        9
    xia0chun  
       Apr 24, 2015
    @xdcr 你降级到2.2.1试试,这是我感觉最好用的一个版本
    sirgod
        10
    sirgod  
       Apr 24, 2015
    楼主试试import ssl能行吗?还有你机器上装了几个python?
    xdcr
        11
    xdcr  
    OP
       Apr 24, 2015
    @xia0chun 一样问题


    @sirgod 试过,也不行。 py2.7 和py3.4
    jackyspy
        12
    jackyspy  
       Apr 25, 2015
    print os.environ看下环境变量是否一致,python用完整路径确保同一版本。
    文件中import ssl; print ssl看看引用路径是否相同
    sirgod
        13
    sirgod  
       Apr 25, 2015
    @xdcr 有可能你的python shell跟从文件运行用的不是同一个解释器,其中的一个找不到ssl库,要么是没正确安装要么就是环境变量没设置正确
    xdcr
        14
    xdcr  
    OP
       Apr 27, 2015
    @jackyspy
    @sirgod
    多谢,确实是引用了一个错误的ssl文件
    peterkai
        15
    peterkai  
       May 11, 2015   ❤️ 1
    @xdcr
    这是怎么看出来的
    我跟你遇到了相同的问题
    求解决思路 谢谢!!
    xdcr
        16
    xdcr  
    OP
       May 13, 2015
    @peterkai 按楼上的import ssl; print ssl,会提示引用的ssl文件路径,看在哪里引用了错误的文件
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2728 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 02:16 · PVG 10:16 · LAX 19:16 · JFK 22:16
    ♥ Do have faith in what you're doing.