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


Posted in Python onJanuary 27, 2021

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爬虫框架的基本使用详解

到此这篇关于Python中Pyspider爬虫框架的基本使用详解的文章就介绍到这了,更多相关Pyspider爬虫框架使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之玩转字符串(3)
Sep 14 Python
python查询mysql中文乱码问题
Nov 09 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
python+pygame简单画板实现代码实例
Dec 13 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
pandas表连接 索引上的合并方法
Jun 08 Python
numpy中矩阵合并的实例
Jun 15 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
Jan 27 #Python
一个入门级python爬虫教程详解
Jan 27 #Python
python+selenium爬取微博热搜存入Mysql的实现方法
Jan 27 #Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 #Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 #Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 #Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 #Python
You might like
是否存在第一台收音机的说法
2021/03/01 无线电
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现html转ubb代码(html2ubb)
2014/07/03 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python语言的变量认识及操作方法
2018/02/11 Python
python一键去抖音视频水印工具
2018/09/14 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python3中列表list合并的四种方法
2019/04/19 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
python实现计算器简易版
2020/12/17 Python
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
c++工程师面试问题
2013/08/04 面试题
生产部岗位职责范文
2014/02/07 职场文书
办公室文员岗位职责
2015/02/04 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis