zoukankan      html  css  js  c++  java
  • python3中导入urllib2库

    转自:http://blog.csdn.net/qq_27657429/article/details/52653164

    最近在看PACKT的Python Web Scraping, 书上用的是Python 2.X,但是自己电脑上却用的Python 3.4。

    版本升级没什么好说的,只是很多的工具包并没有跟着升级。同时目前很多经典教材都是2.X为基础的,并没有跟着升级3.X的内容。十分无语。

    搜了下知乎,发现许多人还是认可Python3的升级。

    只是我记得Python的快速原型部署一直是程序员津津乐道的话题,现在因为许多常用lib的原因,纠结在语言升级后工具的安装上,令人十分火大。

    Windows没有设置pip的路径,所有自己cmd路径指向python34liibsite-packages下:

    Python pip install builtwith

    然后在Python cmd import。(话说能弄个友好一点的cmd么?简直一肚子火)

    安装的问题主要涉及到Python3的对Exception和print的修改

    # import builtwith

    出现的错误为:

    File "<stdin>"m line 1, in <module>

    File "...site-packagesuiltwith\__init__.py", line44

    "Exception, e"

    因为Python2中的Exception,e 的写法不再支持,需要修改成Exception as e.

    (这句话看了我半天, 明明说是抛出了Exception e, 却硬是没看到e的信息,火大!)

    另外Python2中的print语句在Python3中需要写成print(),按照错误提示修改对应行数即可。

    语法问题修改之后,会报一个没有安装urllib2的包的错误。

    通过pip install  urllib2也会提示找不到包。

    这是因为builtwith依赖于urllib2包。但Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error两个包。就导致找不到包,同时也没办法安装。

    所以需要install urllib.request和install urllib.error 两个包,然后将builtwith包中的import urllib2修改为import urllib.request 和import urllib.error。

    同时代码中的方法函数也需要修改,基本就是将urllib2.xxx修改为urllib.request.xxx。

    urllib2修改后对应的函数列表见:https://docs.python.org/2/library/urllib2.html。

  • 相关阅读:
    我喜欢的vs code快捷键for mac
    mssql server for docker on MacOs
    c#面试题汇总(1)
    VS2017的MVC和Angular联合开发的配置文件作用
    联想笔记本装系统
    精彩网页
    WebSocket 是什么原理?为什么可以实现持久连接?
    websocket作用及意义
    C#中静态与非静态方法比较
    Winform数据库连接app.config文件配置
  • 原文地址:https://www.cnblogs.com/yanzi123/p/7506907.html
Copyright © 2011-2022 走看看