• Pyspider的基本使用 -- 入门


    简介

    • 一个国人编写的强大的网络爬虫系统并带有强大的WebUI
    • 采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器
    • 官方文档:http://docs.pyspider.org/en/latest/

    安装

    启动服务

    • 命令窗口输入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秒


    执行任务

    • 完成脚本编写,调试无误后,先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安装目录下 Libsite-packagespyspiderwebuistatic 里的 debug.min.css




  • 相关阅读:
    C#中 ??、 ?、 ?: 、?.、?[ ] 问号各组合含义
    ASP.NET Core MVC配置差异(3.0和2.X)
    vs code搭建Django环境
    解决真机编译出现System.DllNotFoundException: 'libmono-native.so'错误都方法
    选择器
    Web.Config配置
    读Xamarin文档记录
    【前端自动化】Gulp的使用(一):安装gulp
    关于angularJS绑定数据时自动转义html标签
    【记录】两年程序生涯的点滴与反思
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/12128534.html
Copyright © 2020-2023  润新知