51Testing软件测试论坛

标题: 爬虫框架pyspider个人总结(详细)熟悉 [打印本页]

作者: 测试积点老人    时间: 2018-12-6 14:29
标题: 爬虫框架pyspider个人总结(详细)熟悉
本帖最后由 测试积点老人 于 2018-12-6 14:31 编辑

一、为什么要使用pyspider?
我们很好奇,我们明明有了Scrapy框架,为什么还要使用pyspider框架呢?我们说两点


所以如果要快速实现一个页面的抓取,推荐使用 pyspider,开发更加便捷,如果要应对反爬程度很强、超大规模的抓取,推荐使用 Scrapy

二、pyspider的安装pyspider的安装相对简单,不需要安装一些列的依赖库直接使用
  1. pip install pyspider
复制代码
然后等待安装成功就行,也可以使用源码安装

三、pyspider的简单使用1.安装之后先验证是否安装成功,在CMD下输入
  1. pyspider
复制代码
或者
  1. pyspider all
复制代码
两者是一样的,新的pyspider框架已经整合了,所以使用pyspider就好


[attach]119861[/attach]

出现这个则说明运行成功,运行在5000端口,当然这个可以改
2.打开浏览器,输入
  1. http://localhost:5000/
复制代码
进入pyspider控制台

[attach]119862[/attach]

出现这个则说明你的框架没什么问题!!!
我把框架的执行分为了这么几部分

我们分别来一步步说一下
1.创建

[attach]119864[/attach]

点击create开始创建

[attach]119865[/attach]

弹出两个东西,project name 是你项目的名称 start url 是你要爬取的链接,分别输入以后,再次点击右下角的create,完成创建

[attach]119866[/attach]

整个右边部分,分为这么几个东西
1.右上角的save 是保存按钮,更改代码之后几点保存
2.左上角的#后面的是你创建的一些参数,如创建时间,爬取域名,编码格式等
3.下面的代码部分是创建项目自动生成的,你可以添加一些你自己的东西,我们在这里完成整个项目的爬取、解析、以及保存等工作




[attach]119869[/attach]


2.执行点击run可以看到暂时执行后的结果
3.如果不正确,或者爬取信息有误,对右边代码部分进行调试
4.最后返回到控制界面,把status改成running,并点击后面的run按钮开始执行
分别显示5m、1h、1d5分钟一小时以及一天的爬取结果,绿色表示成功,红色表示请求次数太多而放弃,蓝色表示等待执行
一般的使用过程就是确定爬取的网站,创建项目,在crawl_config里进行配置,在index_page里确定要爬取的url,在detail_page里确定要爬取的数据信息

四、pyspider框架的架构和执行流程1.pyspider框架的架构
pyspider的架构相对简单分为这么几个部分:scheduler(调度器)、fetcher(抓取器)、processor(脚本执行)任务由 scheduler发起调度,fetcher抓取网页内容, processor执行预先编写的py脚本,输出结果或产生新的提链任务(scheduler)、整个爬取的过程受,Monitor(监控器)的监控,结果保存在Result Worker(结果处理器)中。

2.每个 pyspider 的项目对应一个 Python 脚本,该脚本中定义了一个Handler 类,它有on_start ()方法 爬取首先调用 on_start ()方法生成最初的抓取任务,然后发送给 Scheduler进行调度

3.执行流程










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2