欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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/

安装

启动服务

  • 命令窗口输入pyspider
    Pyspider的基本使用 -- 入门

打开web界面

  • 浏览器输入localhost:5000
    Pyspider的基本使用 -- 入门

创建项目

Pyspider的基本使用 -- 入门

删除项目

  • 删除某个:设置 group 为 delete ,status 为 stop ,24小时之后自动删除
    Pyspider的基本使用 -- 入门
  • 删除全部:在启动服务的路径下,找到它自己生成的data目录,直接删除目录里的所有文件
    Pyspider的基本使用 -- 入门
    Pyspider的基本使用 -- 入门

禁止证书验证

  • Pyspider的基本使用 -- 入门
  • 加上参数 validate_cert = false
  • Pyspider的基本使用 -- 入门

使用方法

  • 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秒
      Pyspider的基本使用 -- 入门

执行任务

  • 完成脚本编写,调试无误后,先save脚本,然后返回到控制台首页
  • 直接点击项目状态status那栏,把状态由todo改成debug或running
  • 最后点击项目最右边的run按钮启动项目

对接phantomjs

  • phantomjs.exe放在python环境根目录下,或者将所在目录添加到系统的环境变量
  • 添加成功,启动服务时,会显示如下信息
  • Pyspider的基本使用 -- 入门

没使用js渲染

Pyspider的基本使用 -- 入门

使用js渲染

  • 添加参数 fetch_type = 'js'
    Pyspider的基本使用 -- 入门

其它

  • rate/burst
    • rate:一秒钟执行的请求个数
    • burst:并发的数量
    • 例如:2/5、每秒两个请求,并发数量为5,即每秒10个请求
  • 设置渲染的web页面的高度
    • Pyspider的基本使用 -- 入门
    • 在源代码里修改css样式即可(#tab-web iframe)
    • css文件路径:python安装目录下 lib\site-packages\pyspider\webui\static 里的 debug.min.css
    • Pyspider的基本使用 -- 入门