python3中builtwith 库不能用[转]

In [1]: import builtwith

Traceback (most recent call last):

  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code

    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-1-db157fd2669a>", line 1, in <module>

    import builtwith

  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/builtwith/__init__.py", line 43

    except Exception, e:

                    ^

SyntaxError: invalid syntax

--------------

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

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

# import builtwith

出现的错误为:

File “”m line 1, in

File “…\site-packages\builtwith__init__.py”, line43

“Exception, e”

因为Python2中的Exception,e 的写法不再支持,需要修改成Exception as 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

修改后,builtwith包就可以正常使用了

 
 

转载于:https://www.cnblogs.com/huanlegu0426/p/builtwith_for_python3.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值