工厂数据可视化管理系统:提高生产效率和决策质量的关键
135
2023-10-25
【摘要】 本书摘自《大数据可视化技术》一书中第6章,第1节,杨尚森、许桂秋主编。
6.1.2 使用网络爬虫提取文本数据
随着科技水平的不断提高,计算机网络得到了普及并且规模也变得极其庞大,网 络用户的行为也变得愈加复杂,随之产生的Web 数据也呈指数级增长。网络信息日益丰 富,通过网页获取文本信息已经成为人们获取信息的主要途径。通过搜索引擎等普通手 段已经无法快速地大量抽取海量Web 文本信息,也无法有效寻找到自身所需求的文本信 息,因此我们借助于网络爬虫的技术手段来对Web 信息进行提取。
网络爬虫,也叫网络蜘蛛(Web Spider), 如果把互联网比喻成一个蜘蛛网, Spider 就是一只在网上爬来爬去的蜘蛛。网络爬虫就是根据网页的地址来寻找网页的。可使 用Python等语言对网页进行解析。举一个简单的例子,我们在浏览器的地址栏中输入 的字符串就是URL, 例如: https://www.baidu.com/。URL就是统一资源定位符(Uniform Resource Locator), 它的一般格式为 “protocol:// hostname[:port]/ path /[:parameters] [?query]#fragment”, 其包括三部分:第一部分是协议protocol,例如百度使用的就是 https协议;第二部分hostname[:port], 主机名(还有端口号为可选参数,端口号一般默认 为80),例如百度的主机名就是www.baidu.com, 这个就是服务器的地址;第三部分path 是主机资源的具体地址,如目录和文件名等。网络爬虫就是根据URL 对Web 信息进行获 取的。
Python爬虫架构主要有调度器、 URL 管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。其中:
(1)调度器:相当于电脑CPU, 主要负责调度URL 管理器、下载器、解析器之间 的协调工作。
(2)URL 管理器:包括待爬取的URL 地址和已爬取的URL 地址,防止重复抓取URL 和循环抓取URL。URL 管理器主要通过内存、数据库、缓存数据库来实现。
(3)网页下载器:通过传入一个URL 地址来下载网页,将网页转换成一个字符 串。
(4)网页解析器:将一个网页字符串进行解析。网页解析器有正则表达式(直 观,将网页转成字符串,通过模糊匹配的方式来提取有价值的信息,当文档比较复杂 的时候,该方法提取数据的时候就会非常的困难)、 html.parser(Python自带的)、 beautifulsoup (第三方插件,可以使用Python自带的html.parser进行解析,也可以使用 lxml进行解析,相对于其他几种来说要强大一些)、lxml (第三方插件,可以解析xml和 HTML)。
(5)应用程序:就是从网页中提取的有用数据组成的一个应用。这里具体介绍一下python的内置抓取网页的组件urllib。urllib是一个URL 处理包,这 个包中集合了一些处理URL 的模块,如下:
(1)urllib.request模块:用于打开和读取URLs。
(2)urllib.error模块:包含一些有urllib.request产生的错误,可以使用try进行捕捉 处理。
(3)urllib.parse模块:包含了一些解析URLs 的方法。
(4)urllib.robotparser模块:用来解析robots.txt文本文件。它提供了一个单独的 RobotFileParser类,通过该类提供的can fetch()方法测试爬虫是否可以下载一个页面。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~