Python面向对象与模块化之开发迷你爬虫(三)

Python面向对象与模块化之开发迷你爬虫(三)

文章目录什么是爬虫数据三种获取方式爬虫架构体系什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引数据三种获取方式在移动互联网和大数据时代,会产生海量的数据,数据是沉默的宝藏。我们可以通过数据分析挖掘得出一些有价值的结论,而这些结论又可以提高用户的体验,提高公司运营效率。自有数据像BAT、Google、Facebook、银行、运营商等像大厂或者产业链上游购买数据采用爬虫获取互联网上的数据 (注意:随着用户对自己隐私保护和法律健全此方式未来风险会越来越大)爬虫架构体系爬虫客户端来启动爬虫、停止爬虫、监控爬虫的调度情况URL管理器:来对将要管理的URL,和已经下载过的URL进行管理网页下载器:会将URL指定的网页下载下来,并且存储为字符串存储的字符串通过网页解析器进行解析,把有价值的数据解析出来,网页还有其它的URL可以补充到URL管理器中文章目录URL管理器管理器代码实现管理器代码测试URL管理器管理待抓取的URL集合和已抓取的URL集合,管理器:防止重复抓取、防止循环抓取,管理器最小功能范围如下管理器代码实现管理器代码测试文章目录网页下载器原理PoolManager获取网页数据添加Headers获取数据下载器代码实现网页下载器原理将互联网上URL对应的网页下载到本地的工具,返回的是HTML代码,后续的解析器就是通过解析HTML代码然后获取有价值的数据。这些有价值的数据可以存储到关系数据库、CSV、大数据甚至在内存中直接进行处理PoolManager获取网页数据urllib3爬虫的基础模块,支持自动登录、Cookie等功能。可以通过urlib3与服务器交互并且发送一个请求返回的是请求地址对应的html源码添加Headers获取数据如果发送请求时配置的是移动客户端的相关参数,返回就是移动端的数据下载器代码实现文章目录网页解析器各种解析器的对比快速开始采用Soup解析网页网页解析器Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间各种解析器的对比推荐使用lxml作为解析器,因为效率更高. 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定快速开始Python中3引号代表可换行的字符串采用Soup解析网页此处大家只需要了解soup可以获取网页中的任何元素,某个元素中父元素,元素中的属性等。下节课我们会对需要的代码进行封装操作文章目录解析器封装成类urljoin实现地址拼接解析器模块测试解析器封装成类上节课我们通过Beautiful Soup将网页中的数据进行解析获取了我们想要的数据,这节课我们要把相关的代码进行封装,详细封装流程参考视频信息urljoin实现地址拼接在解析的过程中html源码中有些地址是相对地址,此时应该要把相对地址拼接为绝对地址。因此可以采用urljon内置函数类实现解析器模块测试可以把测试代码编写在 name == “main” 中这样在当前模块为非主模块时则不会执行文章目录爬虫调度器爬虫调度器基本思路:把第一个地址交给URL管理器,然后立即进行判断,如果地址不为空则启动URL下载器。下载器把获取的HTML源码交给解析器。解析器把有价值的数据显示在控制台,而获取的URL网页地址重新交给URL管理器。当下载次数达到指定次数例如10次时,退出爬虫程序

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注