zoukankan      html  css  js  c++  java
  • 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-packagesuiltwith__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包就可以正常使用了

     
     
  • 相关阅读:
    关于springMVC转换json出现的异常
    jQuery实现,动态自动定位弹窗。JS分页,Ajax请求
    servlet为什么要配置web.xml
    Jmeter系列(4)- Jmeter 脚本录制
    后缀数组模板
    NOIP2016 玩脱记
    TERSUS无代码开发(笔记21)-流程执行顺序思考(转载)
    ===>===>===>特色思TERSUS常用功能整理
    TERSUS无代码开发(笔记20)-本地开发测试mysql数据库连接
    TERSUS无代码开发(笔记19)-mysql-connector-java-5.-bin.jar下载方法
  • 原文地址:https://www.cnblogs.com/huanlegu0426/p/builtwith_for_python3.html
Copyright © 2011-2022 走看看