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捕捉和模拟鼠标事件的方法
Jun 03 Python
Python安装第三方库的3种方法
Jun 21 Python
通过源码分析Python中的切片赋值
May 08 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
Python编程中flask的简介与简单使用
Dec 28 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
django的ORM操作 增加和查询
Jul 26 Python
python 解决print数组/矩阵无法完整输出的问题
Feb 19 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
动态设置django的model field的默认值操作步骤
Mar 30 Python
Python根据指定文件生成XML的方法
Jun 29 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
PHP 变量的定义方法
2010/01/26 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
node.js require() 源码解读
2015/12/13 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python下如何让web元素的生成更简单的分析
2008/07/17 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
基于python的字节编译详解
2017/09/20 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
详解K-means算法在Python中的实现
2017/12/05 Python
Python 函数基础知识汇总
2018/03/09 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
经销商会议欢迎词
2014/01/11 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
2014年学生工作总结
2014/11/20 职场文书
幼师大班个人总结
2015/02/13 职场文书
python pygame入门教程
2021/06/01 Python
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android