资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Scrapy,基于python的网页爬虫,内容大纲,爬虫的由来 爬虫与大数据的联系 Scrapy框架简介 学习Scrapy需要准备的知识 Scrapy的基本逻辑和运行原理 认识第一个爬虫 爬虫方向的前景和细分,问题,爬虫有哪些特点,如何区分? 爬虫为什么会出现(开放性问题)? 你讨厌爬虫吗?,Quick glance,爬虫的由来,即网络爬虫,是一种自动获取页面内容的程序。它是搜索引擎重要的组成部分。,网络爬虫,网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 爬虫的分类: 网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型: 通用网络爬虫(General Purpose Web Crawler) 聚焦网络爬虫(Focused Web Crawler) 增量式网络爬虫(Incremental Web Crawler) 深层网络爬虫(Deep Web Crawler),Store of spider and big data,爬虫能做什么,能做什么? 不能做什么?,Can Can not,Everything on HTML based internet!,Bad things!,通常意义来说,爬虫是为了在互联网中获取各种各样的信息,如果说浏览器能完成的页面访问,那么爬虫工程师都可以做出相应的爬虫。 那么问题在于,爬虫开发的Cost和Benefit是否能平衡。 对于敏感和隐私的数据,除非本人组织同意,否者万万不要去尝试获取这些数据。,问题,为什么Scrapy是流行的爬虫开发框架?,ScrapyScratch python,基于Python的快速、高层次的屏幕和Web抓去框架,用户专区Web站点(包括H5,移动端Wap站点)并从页面中提取结构化的数据。 Scrapy除了可以用来做爬虫,获取数据和数据监测;另外还可以用作自动化测试框架! Scrapy开发源码,可以做任意的修改,同时提供能各种类型的爬虫基类,如BaseSpider,sitemap,CrawlSpider,,使用Twisted异步网络库 实现异步网络请求,十分灵活:Scrapy Engine 负责整体协调,可以任意增加南北接口,借鉴Django的Middleware概念 容易控制:良好的Html协议支持,并发数可控,开放性好,Scrapy Engine: 处理整个系统的数据流处理、触发事物 Scheduler:管理Request请求的出入栈;去除重复的请求 Downloader:基于Twisted的异步下载器(不处理JS) Pipeline:数据持久化,也可以在此添加验证和去重的功能 Download Middleware:介于Scrapy Engine和下载器之间的middleware,处理两者这件的输入和输出请求 Spider Middleware:介于Scrapy Engine和Spider。 Scheduler Middleware:介于Scrapy Engine和Scheduler。,爬取简易流程,1.Engine 从Scheduler取出一个Url 2.Engine讲Url包装成Request,并交由Downloader 3.Downloader收到Response后,由具体的爬虫解析后生成结构化的Item数据 4.把Item扔给Pipeline,Pipeline最终复杂实现数据的存储,Scrapy 的短板,不能完整的模拟浏览器。 目前不能执行JavaScript。因为scrapy框架的Download Middleware没有集成任何浏览器内核。 问题:Scrapy不能执行JavaScript,怎么办?,学习Scrapy需要准备的知识,Scrapy支持Python 2.x和3.x 理解关键字 yield 了解Html协议基本 熟悉xml解析和正则表达式,So easy?,来认识这位“爬虫”,新建工程: scrapy startporject 创建需要的Item、pipeline。 在spiders目录下完成.py 运行scrapy crawl ,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号