pyspider是国人写的一款开源爬虫框架,个人觉得这个框架用起来很方便,至于如何方便可以继续看下去。
作者博客:http://blog.binux.me/
安装pyspider
安装pyspider:pip install pyspider
由于pyspider目前只支持32位系统,因为安装pyspider前需要先安装一个依赖库:pycurl,而pycurl只支持32位系统
如果你是32位系统,就这样安装:
pip install pycurl
pip install pyspider
cmd后输入:pip install pyspider
Windows下可能会出现这样的错误提示:
Command "python setup.py egg_info" failed with error code 10 in C:\Users\temp1\AppData\Local\Temp\pip-build-w161jmxk\pycurl\
这是PyCurl安装错误,此时需要安装PyCurl库。从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl找到对应的Python版本,然后下载相应的wheel文件即可。比如Windows 64位、Python 3.7,则需要下载pycurl-7.43.1-cp37-cp37m-win_amd64.whl,随后用pip安装即可,命令如下:
pip install d:\pycurl-7.43.1-cp37-cp37m-win_amd64.whl
运行:pyspider all 然后又报错:
从(https://blog.csdn.net/qq_26261381/article/details/86514138 ) 哪里得到解决办法。
是因为async从python3.7开始不能用作参数名了,将所有脚本里面的async换一个名字即可,脚本不多,一共两个脚本
1 ffk_py/lib/python3.7/site-packages/pyspider/run.py
2 ffk_py/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py
修改完成后,运行如下:
在webui这个文件夹下app.py应该是开始端口服务的然后在我们的命令行里启动的服务却没有webui running on 0.0.0.0:5000的提示,这个时候找到找到pyspider文件下的webui文件打开app.py搜索async果然还是出现了关键词,修改。
运行pyspider all 结果如下:还是报错。
Deprecated option 'domaincontroller': use 'domain_controller' instead的问题。(https://segmentfault.com/q/1010000015429020?utm_source=tag-newest 上面的解释)
wsgidav发布的3.x版本目前仍然是测试版,相对于2.x(例如2.4.1)更改了一些用法,上面报错的两个部分就是的。pyspider的3.0及以上版本在安装时,会默认安装wsgidav的3.x版(具体的版本可能会有偏差)。其实上面错误信息已经提示该如何改了,不过那样改比较麻烦。可以换个方法,换回wsgidav的2.x版本就不会报错了。先把3.x版卸载,再装2.x版(pip安装wsgidav会默认安装2.x版 我的是2.4.1版)。下面是具体的卸载安装的命令
windows下进入cmd,(linux下打开终端),输入:
pip uninstall wsgidav
pip install wsgidav
如果报错失败,按照下面的再试一次,(一般linux不会出错,windows下可能输入下面的命令)
python -m pip uninstall wsgidav
python -m pip install wsgidav
如果安装的wsgidav版本还是3.x版本,可以在卸载这个版本之后, 在安装命令后面加上具体版本
例如 python -m pip install wsgidav==2.4.1
wsgidav 后,运行如下: