Pyspider的基本使用 -- 入门
程序员文章站
2022-03-29 10:43:49
简介 一个国人编写的强大的网络爬虫系统并带有强大的WebUI 采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器 官方文档:http://docs.pyspider.org/en/latest/ 安装 pip install ......
简介
- 一个国人编写的强大的网络爬虫系统并带有强大的webui
- 采用python语言编写,分布式架构,支持多种数据库后端,强大的webui支持脚本编辑器,任务监视器,项目管理器以及结果查看器
- 官方文档:http://docs.pyspider.org/en/latest/
安装
- pip install pyspider
-
安装失败的解决方法
启动服务
- 命令窗口输入pyspider
打开web界面
- 浏览器输入localhost:5000
创建项目
删除项目
- 删除某个:设置 group 为 delete ,status 为 stop ,24小时之后自动删除
- 删除全部:在启动服务的路径下,找到它自己生成的data目录,直接删除目录里的所有文件
禁止证书验证
- 加上参数 validate_cert = false
-
使用方法
- on_start(self)
- 入口方法,run的时候,默认会调用
- crawl()
- 生成一个新的爬取请求,类似于scrapy.request,接受的参数是ur1和callback
- @every(minutes=2, seconds=30)
- 告诉scheduler两分30秒执行一次
- @config(age=10 * 24 * 60 * 60)
- 告诉调度器(单位:秒)、这个请求过期时间是10天、10天之内不会再次请求
- @config(priority=2)
- 优先级、数字越大越先执行
- age写在函数里面跟写在装饰器上的区别
- 写在函数里面的后执行,下图实际过期时间为5秒,若函数里没有age,则为装饰器里定义的20秒
- 写在函数里面的后执行,下图实际过期时间为5秒,若函数里没有age,则为装饰器里定义的20秒
执行任务
- 完成脚本编写,调试无误后,先save脚本,然后返回到控制台首页
- 直接点击项目状态status那栏,把状态由todo改成debug或running
- 最后点击项目最右边的run按钮启动项目
对接phantomjs
- 将phantomjs.exe放在python环境根目录下,或者将所在目录添加到系统的环境变量
- 添加成功,启动服务时,会显示如下信息
-
没使用js渲染
使用js渲染
- 添加参数 fetch_type = 'js'
其它
- rate/burst
- rate:一秒钟执行的请求个数
- burst:并发的数量
- 例如:2/5、每秒两个请求,并发数量为5,即每秒10个请求
- 设置渲染的web页面的高度
- 在源代码里修改css样式即可(#tab-web iframe)
- css文件路径:python安装目录下 lib\site-packages\pyspider\webui\static 里的 debug.min.css