pyspider是国人binux编写的强大的网络爬虫框架,它带有强大的WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,另外还支持JavaScript渲染页面的爬取,使用起来非常方便。

准备工作

pyspider是支持JavaScript渲染的,而这个过程是依赖于PhantomJS的,所以还需要安装PhantomJS。

PhantomJS的安装

PhantomJS是一个无界面的、可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作、CSS选择器、JSON、Canvas以及SVG。

下载PhantomJS

我们需要在官方网站下载对应的安装包,PhantomJS支持多种操作系统,比如Windows、Linux、Mac、FreeBSD等,我们可以选择对应的平台并将安装包下载下来。

下载完成后,将PhantomJS可执行文件所在的路径配置到环境变量里。比如在Windows下,将下载的文件解压之后并打开,会看到一个bin文件夹,里面包括一个可执行文件phantomjs.exe,我们需要将它所在的路径配置到环境变量里。

配置成功后,可以在命令行下测试一下,输入:

phantomjs

如果可以进入到PhantomJS命令行,那就证明配置完成了,如图所示。

Python3.7安装pyspider_命令行


pip安装

这里推荐使用pip安装,命令如下:

pip install pyspider

命令执行完毕即可完成安装,如图所示。

Python3.7安装pyspider_命令行_02


验证安装

安装完成之后,可以直接在命令行下启动pyspider:

pyspider all

此时控制台会有如图所示的输出。

Python3.7安装pyspider_可执行文件_03


通过控制台的运行结果可以发现,pyspider根本没运行,直接因为语法错误而崩溃,按理来说人家编写的模块不可能有错~!不要胡思乱想了,面对现实吧~!我们可以发现这个语法错误指向async这个变量附近,难道async作为变量名有错吗?!老版本没有,3.7有,因为3.7把async作为关键字了,我们都知道,关键字是不能作为变量名的,如何修改这个错误呢?当然是直接修改源代码喽~!这也能修改?!不要怕~!放心大胆地改!如果出现了不可挽回的错误也就是重装一个模块而已,也就一分钟的事情~!修改好了之后我们重新执行pyspider all这个命令,如图所示。

Python3.7安装pyspider_可执行文件_04


可以发现它一直卡在那里。这个坑我填了很长时间,网上各种办法都试了,技术交流群也问了个遍,依旧不成功!就在我准备放弃的时候,看到最上面有一个警告,稍微翻译一下这个警告:你的平台(Windows)不支持超时。如果真的是因为这个警告导致它卡在那里,那就简单了,我换个Linux平台呗~!换个平台把环境都配置好,之前的坑都填好之后,执行命令pyspider all会有如下输出。

Python3.7安装pyspider_可执行文件_05


这时pyspider的Web服务会在本地5000端口运行。直接浏览器中打开http://localhost:5000/,即可进入pyspider的WebUI管理页面,如图所示,这证明pyspider安装成功了。

Python3.7安装pyspider_可执行文件_06


终于成功了~!真是踏破铁鞋无觅处,得来全不费功夫啊~!如果大家还是装不上或者有其它问题的可以加群,群号:822163725,备注:小陈学Python,不备注可是会被拒绝的哦~!

最后欢迎大家扫码关注

Python3.7安装pyspider_命令行_07