Python中Pyspider爬虫框架的基本使用详解

作者:mankvis 时间:2021-04-01 06:00:31 

1.pyspider介绍  

     一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。

  • 用Python编写脚本

  • 功能强大的WebUI,包含脚本编辑器,任务监视器,项目管理器和结果查看器

  • MySQL,MongoDB,Redis,SQLite,Elasticsearch ; PostgreSQL与SQLAlchemy作为数据库后端

  • RabbitMQ,Beanstalk,Redis和Kombu作为消息队列

  • 任务优先级,重试,定期,按年龄重新抓取等...

  • 分布式架构,抓取JavaScript页面,Python 2和3等... 

2.pyspider文档

1>中文文档:http://www.pyspider.cn/

2>英文文档:http://docs.pyspider.org/

3.pyspider安装

打开cmd命令行工具,执行命令


pip install pyspider

Python中Pyspider爬虫框架的基本使用详解

出现下图则安装成功

Python中Pyspider爬虫框架的基本使用详解

4.pyspider启动服务,进入WebUI界面

安装pyspider后,打开cmd命令工具,执行命令来启动服务器


pyspider

Python中Pyspider爬虫框架的基本使用详解

出现下图则启动服务成功,默认地址端口为127.0.0.1:5000

Python中Pyspider爬虫框架的基本使用详解

输入地址127.0.0.1:5000,打开WebUI界面

Python中Pyspider爬虫框架的基本使用详解

队列统计是为了方便查看爬虫状态,优化爬虫爬取速度新增的状态统计.每个组件之间的数字就是对应不同队列的排队数量.通常来是0或是个位数.如果达到了几十甚至一百说明下游组件出现了瓶颈或错误,需要分析处理.

新建项目:pyspider与scrapy最大的区别就在这,pyspider新建项目调试项目完全在web下进行,而scrapy是在命令行下开发并运行测试.

组名:项目新建后一般来说是不能修改项目名的,如果需要特殊标记可修改组名.直接在组名上点鼠标左键进行修改.注意:组名改为delete后如果状态为stop状态,24小时后项目会被系统删除.

运行状态:这一栏显示的是当前项目的运行状态.每个项目的运行状态都是单独设置的.直接在每个项目的运行状态上点鼠标左键进行修改.运行分为五个状态:TODO,STOP,CHECKING,DEBUG,RUNNING.各状态说明:TODO是新建项目后的默认状态,不会运行项目.STOP状态是停止状态,也不会运行.CHECHING是修改项目代码后自动变的状态.DEBUG是调试模式,遇到错误信息会停止继续运行,RUNNING是运行状态,遇到错误会自动尝试,如果还是错误会跳过错误的任务继续运行.

速度控制:很多朋友安装好用说爬的慢,多数情况是速度被限制了.这个功能就是速度设置项.rate是每秒爬取页面数,burst是并发数.如1/3是三个并发,每秒爬取一个页面.

简单统计:这个功能只是简单的做的运行状态统计,5m是五分钟内任务执行情况,1h是一小时内运行任务统计,1d是一天内运行统计,all是所有的任务统计.

运行:run按钮是项目初次运行需要点的按钮,这个功能会运行项目的on_start方法来生成入口任务.

任务列表:显示最新任务列表,方便查看状态,查看错误等

结果查看:查看项目爬取的结果.

5.创建pyspider项目

点击上图中的新建项目按钮

Python中Pyspider爬虫框架的基本使用详解

6.创建后的pyspider项目

Python中Pyspider爬虫框架的基本使用详解

Python中Pyspider爬虫框架的基本使用详解

Python中Pyspider爬虫框架的基本使用详解

来源:https://blog.csdn.net/baoshuowl/article/details/79762514

标签:Pyspider框架
0
投稿

猜你喜欢

  • Python实现子类调用父类的方法

    2023-09-28 12:00:55
  • Python用Try语句捕获异常的实例方法

    2021-07-14 10:28:54
  • IE中伪类:hover的使用及BUG

    2007-05-11 17:04:00
  • pandas抽取行列数据的几种方法

    2022-06-19 09:32:16
  • python常见的格式化输出小结

    2022-12-29 20:23:31
  • 详解配置Django的Celery异步之路踩坑

    2022-11-25 22:06:45
  • Python构建自动在线刷视频的实现

    2021-12-17 15:53:37
  • 一文带你吃透什么是PHP中的序列化

    2023-06-12 19:44:20
  • python实现图像处理之PiL依赖库的案例应用详解

    2023-04-06 09:08:04
  • python使用Word2Vec进行情感分析解析

    2023-10-29 21:16:47
  • ASP MSSQL存储过程的实现小例

    2011-04-06 11:02:00
  • 关于Python dict存中文字符dumps()的问题

    2022-08-22 17:53:17
  • Oracle数据库密码文件的使用与维护

    2010-07-28 13:27:00
  • 在pycharm中python切换解释器失败的解决方法

    2021-02-01 20:53:58
  • python实现双向链表原理

    2023-08-11 11:42:11
  • 怎么快速自学python

    2023-06-25 19:19:32
  • pycharm配置Qt Designer工具的图文教程

    2021-02-10 05:56:40
  • Python 如何实时向文件写入数据(附代码)

    2022-11-10 13:40:03
  • numpy和tensorflow中的各种乘法(点乘和矩阵乘)

    2022-01-18 05:17:10
  • Tensorflow 2.4 搭建单层和多层 Bi-LSTM 模型

    2021-03-30 16:25:06
  • asp之家 网络编程 m.aspxhome.com