作者:楼姗姗
来源:《决策探索·收藏天下(中旬刊)》 2019年第11期
楼姗姗
摘要:python作为一种功能强大的高级编程语言,其爬虫技术的数据抓取在现在的大数据环境下应用非常广泛,作用也十分关键。文章对网络爬虫的概念、工作原理、运行步骤以及网络爬虫在模块当中的数据抓取应用进行了简单的探讨,介绍了大数据环境下网络爬虫所具备的优势。
关键词:网络爬虫;python;数据采集
在当前的大数据时代背景之下,各个领域的发展都离不开数据的搜寻检索,如网络安全分析、产品设计调研等,统统需要大量的用户数据作为支撑,然而这些信息曾经都是依靠人为搜寻获取整理的。python语言的出现,使得网络爬虫技术得到了阶段性的飞跃,不仅提升了数据获取与汇总工作的效率,还降低了人力物力的消耗。
一、网络爬虫相关技术二甘醇
网
(一)网络爬虫的概念
网络爬虫,也有网页蜘蛛、网络机器人等称号,是一种可以依照提前设定好的程序规则自主进行网络信息抓取的程序脚本。爬虫技术能够迅速并且广泛地采集网页上的信息资料,在获取网页数据方面有极大的便捷性,因此被广泛应用于搜索引擎当中,实现用户对网络数据的采集处理目的。
(二)python语言编写网络爬虫的优点
第一,语法简单易学,语言可读性强。
论文下载
第二,使用方便,源码自由开放,编辑简单方便,并且python作为高级编程语言,在程序编写时可忽略底层细节。
第三,可移植性强,python语言的源码可直接运行,无需编译成二进制代码,因此也就更容易在多个系统平台上移植,例如Linux、Windows、FreeBSD、Macintosh等众多系统平台。
第四,可嵌入性强,python语言与C语言可以互相嵌套使用,通过C语言编写的程序在python程序中依然可以使用。
第五,套件丰富,在python中有许多内置标准套件,例如正则表达式、单元测试、数据库、浏览器、CGI、FTP、HTML、GUI、加密系统等。
(三)爬虫的工作原理
网络爬虫的主要工作就是自动搜寻所需网页信息,并从网络上下载使用者所需的信息,通常可以分成数据采集、数据整理、数据存储三个模块[1]。爬虫的主要流程包括:把初始种子URL和等待URL分别放入正确的队列当中;读取URL、DNS解析、依照网页抓取策略下载所需网页并按顺序放入下载库,通过正则匹配表达式将已提取到的新的URL放入待抓取的队列中;分析已爬到的数据,并从新的URL队列中重新进入下一轮周期的信息抓取。
(四)爬虫技术的类型
聚焦爬虫。增加了链接评价和内容评价模块,通过Web页面当中的大量结构信息来评价链接的重要程度,或者是通过Web结构评价链接价值,即HITS法,链接的访问顺序依靠计算每个访问页面Authority权重和Hub权重决定。
通用爬虫。全网爬虫,从单个或多个初始种子URL开始,获取到的新的URL和下载到的页面,利用特定的解析器除去HTML的标记,将摘要保存至Web数据库,同时进入新的循环直至获取到所需信息。
晋卿
增量爬虫。从数量上大规模增加网页下载,重点爬行发生改变或者新出的页面,一定程度上能减少时间上的消耗。
二、系统设计与分析
(一)搜索策略复方阿司匹林
完整的爬虫技术实现系统的一个主要模块就是网页搜索,利用原始的URL为爬取起点,可利用的爬取策略如使负责寻目标的部分按照下载顺序插入到恰当的队列当中,分析处理第一个弹出队列的页面,以确保爬虫可以跟踪到最需要的页面,实现Web爬取功能。系统还有一个重要的模块是线程池模块,主要任务是创建线程,加载爬取任务并执行。线程池的作用非常关键,它决定着线程的创建、销毁的数量与速度包括利用率,例如创建线程的时间过短,会导致系统性能变差,销毁线程过慢或者数量过多,会空闲出其他线程资源,浪费时间与资源。这也会对整个系统程序运行的效率产生影响。
(二)爬虫抓取数据范围
任意一个网络上的页面都会有相应的地址代码以供检索或者登陆,爬虫技术实现的正是抓取所需网址的HTML代码。在真正实际应用当中,不免会出现一些爬取不准确的情况,例如在API接口中可能会出现JSON的字符串此类,因此需要对爬取到的数据处理分析。除此之外,python语言实现的爬虫还会直接访问浏览器中的配置文件以及CSS和JavaScript等内容。
(三)数据解析
爬虫技术实现数据采集的另一个关键步骤就是将下载到的需要的网页代码转换为可被用户识别的图片、文本等内容。此阶段可以使用XML路径语言,即搜索XML文档中的相关信息,依照XPath语法选择恰当的节点元素,并筛选文件的类型进行储存;在XML路径中有许多节点轴的选取方法;最原始的节点可以通过调用原始的祖先节点轴,li的祖先节点有body、div等,再对div的祖先节点做选择,以此类推,形成XPath的解析对象。这样的数据解析方法通过使用较多的XPath语法中的函数,提升HTML信息提取效率。
三、结语
通过网络获取到所需要的数据,其质量参差不齐,数量却日益庞大。python语言下的爬虫技术可以避免消耗大量的时间和人力资源来搜寻并分析相关的信息,并且结合python语言的特点与未来的互联网发展趋势可知,拥有一定的爬虫技术知识不仅仅有利于个人的发展,更能够满足社会和时代对科学技术更加先进、更加创新的需求。
参考文献:
[1]白杨.Python代理IP定向采集爬虫的设计与实现[J].中国新通信,2019(1):40-41.如来神掌之宇宙争雄
作者单位:
杭州朗视视频技术有限公司