1、它是搜索引擎重要的组成部分。,网络爬虫,网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。爬虫的分类:网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)聚焦网络爬虫(Focused Web Crawler)增量式网络爬虫(Incremental Web Crawler)深层网络爬虫(Deep Web Crawler),Store of spider and big
2、data,爬虫能做什么,能做什么?不能做什么?,Can Can not,Everything on HTML based internet!,Bad things!,通常意义来说,爬虫是为了在互联网中获取各种各样的信息,如果说浏览器能完成的页面访问,那么爬虫工程师都可以做出相应的爬虫。那么问题在于,爬虫开发的Cost和Benefit是否能平衡。对于敏感和隐私的数据,除非本人组织同意,否者万万不要去尝试获取这些数据。,问题,为什么Scrapy是流行的爬虫开发框架?,ScrapyScratch python,基于Python的快速、高层次的屏幕和Web抓去框架,用户专区Web站点(包括H5,移动端
3、Wap站点)并从页面中提取结构化的数据。Scrapy除了可以用来做爬虫,获取数据和数据监测;另外还可以用作自动化测试框架!Scrapy开发源码,可以做任意的修改,同时提供能各种类型的爬虫基类,如BaseSpider,sitemap,CrawlSpider,,使用Twisted异步网络库 实现异步网络请求,十分灵活:Scrapy Engine 负责整体协调,可以任意增加南北接口,借鉴Django的Middleware概念容易控制:良好的Html协议支持,并发数可控,开放性好,Scrapy Engine:处理整个系统的数据流处理、触发事物Scheduler:管理Request请求的出入栈;去除重复
4、的请求Downloader:基于Twisted的异步下载器(不处理JS)Pipeline:数据持久化,也可以在此添加验证和去重的功能Download Middleware:介于Scrapy Engine和下载器之间的middleware,处理两者这件的输入和输出请求Spider Middleware:介于Scrapy Engine和Spider。Scheduler Middleware:介于Scrapy Engine和Scheduler。,爬取简易流程,1.Engine 从Scheduler取出一个Url2.Engine讲Url包装成Request,并交由Downloader3.Downloa
5、der收到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,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1