最近在看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包就可以正常使用了