赞
踩
pyspider是支持WebUI的,支持任务监控,项目管理,以及多种数据库的一个强大的爬虫框架,这个真的很好用!!!这主要不是教大家怎么使用,怎么怎么样,主要是让大家懂运行的原理,以及框架的整体结构!
今天主要是分为这几部分:
1.为什么要使用pyspider?
2.pyspider的安装
3.pyspider简单使用
4.pyspider框架的架构和执行流程
一、为什么要使用pyspider?
我们很好奇,我们明明有了Scrapy框架,为什么还要使用pyspider框架呢?我们说两点
二、pyspider的安装
pyspider的安装相对简单,不需要安装一些列的依赖库直接使用
pip install pyspider
然后等待安装成功就行,也可以使用源码安装 pyspider源码
三、pyspider的简单使用
1.安装之后先验证是否安装成功,在CMD下输入
pyspider
或者
pyspider all
两者是一样的,新的pyspider框架已经整合了,所以使用pyspider就好
捕获.JPG
出现这个则说明运行成功,运行在5000端口,当然这个可以改
2.打开浏览器,输入
进入pyspider控制台
捕获.JPG
出现这个则说明你的框架没什么问题!!!
我把框架的执行分为了这么几部分
结果
我们分别来一步步说一下
1.创建
捕获.JPG
点击create开始创建
捕获2.JPG
1.JPG
2.左上角的#后面的是你创建的一些参数,如创建时间,爬取域名,编码格式等
3.下面的代码部分是创建项目自动生成的,你可以添加一些你自己的东西,我们在这里完成整个项目的爬取、解析、以及保存等工作
crawl_config:项目的所有爬取配置统一定义到这里,如定义 Headers 、设置代理等,配置之后全局生效
@every:设置定时爬取的时间
on_start:爬取入口,初始的爬取请求会在这里产生
self.crawl:该方法是爬取的主方法,被on_start调用,即可新建一个爬取请求,这里面有这么几个参数第一个参数是爬取的 URL ,这里自动替换成我们所定义的 URL ,还有 个参数 callback ,它指定了这个页面爬取成功后用哪个方法进行解析,代码中指定为 Idex_page()方法,即如果这个 URL 对应的页面爬取成功了,那 Response 将交给 index_page ()方法解析
index_page:方法接收这个 Response 参数,Response 对接了 pyquery 我们直接调用 doc()方法传入相应的css 选择器,就可以像 query 一样解析此页面,代码中默认是 a[href"="http ”],也就是说该方法解析了页面的所有链接,然后将链接遍历,再次调用了 crawl ()方法生成了新的爬请求,同时再指定了 callback为detail_page ,意思是说这些页面爬取成功了就调用 detail_page方法解析这里,index_page ()实现了两个功能,一是将爬取的结果进行解析, 二是生成新的爬取请求
detail age:接收 Response 作为参数该方法抓取的就是详情页的信息,不会生成新的请求,只对 Response 对象做解析,解析之后将结果以字典的形式返回,将结果保存到数据库
捕获.JPG
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.执行流程
五、出现错误
pyspider安装和使用出现的一些问题
初学pyspider跳过的坑
基本上常见的错误都在这了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。