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
出现下图则安装成功
4.pyspider启动服务,进入WebUI界面
安装pyspider后,打开cmd命令工具,执行命令来启动服务器
pyspider
出现下图则启动服务成功,默认地址端口为127.0.0.1:5000
输入地址127.0.0.1:5000,打开WebUI界面
队列统计是为了方便查看爬虫状态,优化爬虫爬取速度新增的状态统计.每个组件之间的数字就是对应不同队列的排队数量.通常来是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项目
点击上图中的新建项目按钮
6.创建后的pyspider项目
来源:https://blog.csdn.net/baoshuowl/article/details/79762514


猜你喜欢
- 本文实例讲述了Python3将jpg转为pdf文件的方法。分享给大家供大家参考,具体如下:#coding=utf-8#!/usr/bin/e
- 现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽
- 在MySQL中删除数据有两种方式:truncate(截短)属于粗暴型的清空delete属于精细化的删除删除操作如果你需要清空表里的所有数据,
- 前言:为了帮助广大考生和家长了解高考历年的录取情况,很多网站都汇总了各省市的录取控制分数线,为广大考生填报志愿提供参考。因受多种因素影响,每
- 实战目的封装一个自定义的input组件,只适用于 input元素type属性为text或password.实战效果核心思想准备: 需要两个文
- 本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下:一般来说,在Python中内置了很多有用的函数,
- 微软上周发布了一份关于 Windows Internet Explorer 8 浏览器(以下简称为 IE 8)性能优化的白皮书《Window
- 引言我们先来简单学习一下用 Go 实现观察者设计模式,给怎么实现事件驱动编程、事件源这些模式做个铺垫。主要也是我也老没看设计模式了,一起再复
- 前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题:它们是如何做到把一
- 1. 简介在 Go 语言中,new 和 make 是用于创建对象的两个内建函数,它们的使用方式和作用有所不同。正确理解 new 和 make
- 本文实例讲述了Python使用add_subplot与subplot画子图操作。分享给大家供大家参考,具体如下:子图:就是在一张figure
- 本文以抢购、秒杀为例。介绍如何在高并发状况下确保数据正确。 在高并发请求下容易参数两个问题 1.数据出错,导致产品超卖。 2.频繁操作数据库
- 引言语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音
- 用在产品内容展示的页面上,给产品图片加上提示工具条,鼠标移动图片上即可看到效果,效果还是不错的:带黑白效果和放大图片效果(by misshj
- asp使用fso对象遍历目录及目录下的文件代码:<%@ Language=VBScript %><%&
- 1.多边形的绘制案例# 多边形的绘制案例import turtledef main():turtle.color("green&q
- 前言最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下:利用套接字技术实现应用程序中对数据库的访问。应用程序只是利
- 应该来说,学会了如何插入记录,如何显示记录,那么现在简单的完整的文章系统、新闻系统和留言系统不成问题。那接着下面的问题就是:随着信息内容的不
- 与事件循环进行交互,最基本的方式就是任务,任务封装了协程和自动跟踪它的状态。任务是Future类的子类,所以其它协程可以等待任务完成,或当这
- 项目地址githubpyenv does...改变每个用户系统级别的 python 版本为每个项目提供不同的 python 版本安装克隆到本