《商务数据采集与处理》(微课版)教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以实现多种采集需求。
三、商务数据的采集流程
第四节商务数据的采集方法
一、Web 爬虫
Web 爬虫主要分为通用网络爬虫及聚焦网络爬虫,用于HTML 网页文本和图片数据的采集,需要具备一定的编程基础,可利用编程进行URL 打开、HTML 文件获取、HTML文件解析及数据提取等操作。
1.通用网络爬虫
通用网络爬虫从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。
通用网络爬虫的采集原理是:通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其他链接地址,然后通过这些链接地址寻找下一个网页。这样一直循环下去,直到把这个网站所有的网页都抓取完为止。
通用网络爬虫的基本工作流程包括抓取网页、数据存储、预处理,以及提供检索服务
将提取的结果写入文件,在这里直接写入一个文本文件中,通过 json 库的dumps()方法实现字典的序列化,并指定ensure_ascii 参数为False,这样可以保证输出的结果是中文形式而不是Unicode 编码。
6.整合代码
到此为止,我们的爬虫就全部完成了。
7.运行结果
最后我们运行一下代码,可以看到这样就成功把电影信息爬取下来了。
第三节 Python 爬虫在商务数据采集中的应用
一、Python 爬虫初步介绍
Python 是一种非常适合开发网络爬虫的编程语言,提供了如urllib、re、json、pyquery 等模块,同时又有很多成型框架,本身又十分简洁和方便。
作为一门编程语言,Python以简洁清晰的语法和强制使用空白符进行语句缩进的特点深受程序员的喜爱。
与其他静态编程语言相比,Python 抓取网页文档的接口更简洁;与其他动态脚本语言相比,Python 的urllib2 包提供了较为完整的访问网页文档的API。此外,Python 中有优秀的第三方包可以实现网页高效抓取,并可用极短的代码完成网页的标签过滤功能。
Python 爬虫的构架组成:
Python 的工作流程:
1.技术架构
八爪鱼数据采集系统采用 C/S 架构,云计算服务端基于分布式云计算平台,总体架构包括客户端、服务端、云采集端和系统监控端。数据服务使用Mongo DB 与SQL Server进行存储。
八爪鱼数据采集系统的架构设计:
八爪鱼数据采集系统的系统接口:
2.数据存储
系统存储由 Mongo DB 与SQL Server 组成,采集结构化数据存储于Mongo DB,系统参数配置存储于SQL Server。
(1)数据采集技术的原理
八爪鱼采集器在Windows 系统中运行,其开发语言是C#。客户端主程序负责任务配置及管理、任务的云采集控制、云集成数据的管理(导出、清理、发布)。内核浏览器为Firefox 浏览器。
八爪鱼采集器通过模拟人的操作习惯,对网页内容进行全自动提取。通过XPath 定位网页元素,通过正则表达式调整采集数据的格式。数据导出程序负责数据的导出,支持Excel、SQL、TXT、MySQL 等格式,一次可导出千万级别数据。
(2)云采集技术的原理
一、账号密码登录
单击浏览界面中的用户名文本输入框,在“操作提示”面板中选择“输入文字”选项即可在流程图中生成“输入文字”模块。“输入文字”模块的高级选项包括操作名、执行前等待和使用循环等选项。输入框的作用是输入指定文字,在“要输入的文本”输入框中输入需要的文本,单击“确定”按钮保存即可在下方的浏览界面中自动进行输入。
针对账号密码输入的网站,我们可以通过“输入文字”模块输入账号密码并通过单击“登录”按钮或者进行验证码识别进行登录。
二、Cookie 登录
Cookie 登录利用浏览器中的缓存设置,缓存了当前的一个网页状态,可以快速进入当前状态的页面。每个网站的Cookie 机制不一样,有些网站的Cookie 一年后都有效,有些网站可能新开一个网页、换台计算机,或者几分钟后就失效了。这种网站其实是不适合使用Cookie 登录方式登录的,建议使用账号密码登录的方式登录,所以我们需要根据自己要采集的网站情况进行处理。
Cookie 登录的方式不需要输入账号和密码,直接打开网页就是登录状态。
第七节网页源码提取
网页源码提取操作单击需要提取源码的元素后,在“操作提示”面板中选择采集该元素的InnerHtml 或OuterHtml 即可。
InnerHtml 提取的是当前元素的内部网页源代码,不包含我们单击的元素源码,而OuterHtml 提取的源码包含当前元素的网页源代码。
除了在网页界面中通过“操作提示”面板进行提取外,我们还可以通过修改字段提取内容来提取源码。选择流程图中的“提取数据”模块,选中需要修改的字段,单击下方的“自定义数据字段”按钮,选择“自定义抓取方式”选项,修改抓取方式为InnerHtml 或OuterHtml。
第八节图片、附件的采集与下载
部分网页包含了图片和附件。对于图片和附件,采集器可以将它们的链接采集下来,然后利用下载工具进行批量下载至指定位置存储。
附件和图片链接的提取操作单击需要提取链接的附件或图片,在“操作提示”面板中
3.Xpath 路径表达式
路径表达式是对于节点的描述性语句,用来选取指定节点。下面介绍XPath 路径表达式的各项操作。
(1)选取节点:使用“/”或“”选取父元素、“/.”选取元素自身、“/*”选取任何元素。
(2)谓语:用来查找某个特定的节点或者包含某个指定的值的节点。谓语对元素的位置、属性及内容做限制,只要符合限制的元素,使用中括号“[ ]”表示。
(3)XPath 轴
4.XPath 函数
XPath 函数可以通过简单的调用实现一些特殊的功能。这里介绍几种常用的函数使用方法。
(1)文本函数:Text(),主要功能为选中指定文本内容的元素。
(2)包含函数:contains(参数1,参数2),主要功能为选中参数1 中包含参数2 中内容的元素。
(3)最后位置函数:last(),主要功能为选中同胞元素中最后一位的元素。
(4)位置函数:position(),主要功能为描述元素在同胞元素中的位置。
二、XPath 语言应用
1.XPath 工具的使用
XPath 工具是八爪鱼采集器内置的一款XPath 路径表达式工具,在用户编写不熟练的情况下,XPath 工具可以帮助用户熟练地编写XPath 路径表达式。
2.XPath 应用场景
(1)翻页