APP下载

Python爬虫技术的网页数据抓取与分析

2020-12-09徐志金伟

数字技术与应用 2020年10期
关键词:分析

徐志 金伟

摘要:随着信息化时代的到来,互联网信息量呈现爆发式的增长,如何在诸多复杂的信息中简单快捷的寻找到有效信息,而网络爬虫的诞生能够有效的解决此类问题,改善了信息检索的现状,本文通过概述网络爬虫的原理,对Python爬虫技术进行分析。

关键词:网页数据;抓取;Python爬虫技术;分析

中图分类号:TP393.092    文献标识码:A    文章编号:1007-9416(2020)10-0000-00

0 引言

在互联网的高速发展下,信息技术的完善与优化,使得人们能够了解各类信息,包括新闻事件、各国历史,遨游于动物世界,了解动物的新奇,畅怀于古往今来,体会历史的变迁。而随着互联网信息量的越来越大,对信息的收集也变得越来越困难,尤其是信息收集的准确性大大降低,加上无效信息的干扰,用户很难从多样的信息中收集到想要的信息。而随着对Python爬虫技术的改进与优化,能够实现对信息的准确挖掘,以达到对庞大信息准确检索的目的,优化用户的网络体验,节约时间与精力。

1 网络爬虫简介

1.1网络爬虫原理

就网络爬虫而言,其还有其他的称谓,诸如网络机器人、网络蜘蛛,也十分形象的体现了其在复杂的互联网中收集各类信息的特征[1-2]。作為搜索引擎的重要构架,网路爬虫可进行自动收集,即能够对网页数据进行抓取。而其具体的运行机制为,利用种子URL,并将其置入需抓取的URL中,然后提取需抓取的URL,在予以读取、解析,并进行相关下载。待相关网页下载后,将其存储于专有的网页库中,并使已经下载的网页URL置入已爬URL中。将已爬URL进行处理分析,并将其中的URL设置为种子URL,将其置入需抓取的URL中,依次循环往复。就其简单流程而言,其一,利用URL抓取代码;其二,根据正则匹配的方式提取相关信息;其三,对提取的信息进行相应的处理,并设置种子URL。

1.2网络爬虫分类

在网络爬虫技术中,可区分为两种类别,其一,聚焦网络爬虫;其二,通用网络爬虫[3-4]。就聚焦网络爬虫而言,其运行机制相对复杂,具有一定的特殊性,即搜索、采集的信息针对性较强。其有一个显著的的特征,便是进行实时抓取,能够从庞大的信息库中选择准确有效的信息。在聚焦网络爬虫的作用下,可抓取、分析相应的数据,并且能够清除无效的干扰网页,其过滤速度相对较快,运行流畅。在清除掉毫无意义的URL地址后,收集并整理相似度极高的URL地址,并将其纳入URL队列中,然后对采集到的URL进行处理与分析,下载相关网页并设置URL种子,进行下一步的信息抓取,在提取到准确有效的主题信息后,即停止运行。就通用网络爬虫而言,其主要是在搜索引擎的辅助下,搜索、抓取相关网页信息,然后在本地下载一份网页信息,以达到信息的采集、存储的目的。而其运行流程主要为以下步骤,首先抓取网站URL,通过DNS解析获取IP,再下载网页信息。然后存储网页,在搜索引擎的帮助下,获得原始页面的相关信息,判断浏览器HTML、网页信息之间是否有较大的差异,若差异较小,则可停止爬行。最后便是处理网页数据,在脚本、应用程序的作用下,处理网页数据的特殊文件、文字信息、相关连接等。

1.3网络爬虫的应用场景

由于网络爬虫能够检索丰富多样的网络信息,其应用范围相对较大,适用性强。其不仅体现在搜狗、谷歌、夸克等搜索引擎中,还能够用于舆论监控、科学研究等项目中,在网络搜索中其无处不在[5-6]。例如,就舆论监控而言,在网络爬虫的作用下,处理相关信息,从而了解网站的内容、其内容来源,并判断网站是否受到攻击,以及查询用户的来访途径,其访问途径是否符合相关规定。就产品研发、网络购物而言,在网络爬虫的作用下,其能够采集网络购物平台的相关信息,收集并处理商品的流通数据,哪些商品比较受欢迎,同类商品中哪种商品最受青睐,了解消费者的购物需求,从而为新产品的研发提供相关数据,了解用户对哪类产品更加热爱,从而在此产品的基础上进行研发,使新产品更受消费者的青睐。就科学研究而言,在现阶段的科学研究中,计算机与互联网能够发挥极大的作用,通过对网络爬虫技术的应用,能够挖掘需要的信息,并分析相关信息,有助于处理数字化图像、进行大数据的收集甚至机器的学习,网络爬虫对科学研究具有重要的意义。以长江水资源的审计调查为例,在长江水资源审计调查中,运用Python语言调用ArcGIS10.6中的ArcPy工具进行空间分析,形成生态红线内建设和占用的疑点,由原先分步处理,转换为利用自动化程序对地理数据进行批处理,极大的提高工作效率。从以上内容可以得出,Python爬虫技术不仅仅能够发挥信息收集的作用,对商品市场的发展以及科学研究都有较大的帮助,且能够避免网站受到攻击,对网站进行有效的保护。

2 网页数据抓取

2.1筛选技术

在网络爬虫的筛选技术中,主要分为3种,以下为其具体的筛选技术。其一,Beautiful Soup。其属于解释器的一种,在HTML解析器的帮助下,以实现信息搜索的目的,还能够处理网页导航,能够实现对需要的信息的收集、筛选。就Beautiful Soup而言,快捷灵活是其显著的特点,其能够在XML、HTML等文件中抓取Python库,从而对相关信息进行筛选[7]。在简单代码的作用下,即可实现Unicode 编码的转换,从而得到准确有效的信息。其二,XPath 路径语言。其主要是对XML文档的部分语言进行确定,适用于在树状结构中定位并筛选某些信息,从而得到独特的数据。XPath 路径语言不仅能够确定XML文档的部分语言,还可对1XM1库进行标签,从而完成信息的提取并进行导航,在对XML文档进行操作时,应该对1XM1的信息进行导入,并使相关信息转移至etree包,在抓取网页数据,包括文字信息、音频、视频等,在下载至本地时还需予以前缀进行区分。其三,正则表达式。正则表达式的主要作用便是操作字符串,使字符串遵循一致的规则,然后筛选网页数据,由于正则表达式的特殊性,其能够应用独一无二的元素替换提取的信息数据,从而达到处理、筛选网页数据中的文字信息、视频信息、音频信息以及图片信息。在正则表达式的运行步骤中,主要分为两个步骤,第一步,提取相关的超链接、源代码;第二步,对提取的超链接进行处理,从而获得准确有效的数据。

2.2基本库与第三方库

就Python爬虫技术而言,其拥有种类丰富的基本库与第三方库,主要包括Threading库、Urlib 库、Beautiful Soup 库等[8]。就Threading库而言,其属于内基本库,利用该库能够进行多线操作,由于其模块众多,功能性较强,使网页数据抓取与分析的速度更快,能够在极短的时间内完成网页数据抓取与分析。就Urlib 库而言,同样属于基本库,其主要有两个作用,其一,负责对网页数据的提取与解析,其二,负责对数据提取过程中,异常数据的处理。就Beautiful Soup 库而言,与上述两库不同的是,其属于第三方库,能够处理XML、HTML的相关数据,使复杂的数据更加的简洁,具有功能优异、效率高、简洁等特点,在网页数据的抓取与分析中发挥着不可替代的作用。

2.3网页数据抓取

首先是对requests、Python进行安装,了解计算机的操作系统,从而选择与之契合的Python,主要体现在版本的差异。在以上步骤结束后,便将Python输入至命令提示符窗口,然后安装requests,将PiP install requests输入至命令提示符窗口。在安装完成后,便可使用Python爬虫技术,其分为网页数据的搜索、抓取、分析处理,作为搜索引擎的重要构架,网路爬虫可进行自动收集,即能够对网页数据进行抓取。就网页数据的抓取而言,在Python解释型脚本语言的作用下,以提取并筛选信息,然后显示在屏幕上。就數据分析而言,在正则表达式的辅助下,并利用pyquery、beautifulsoup4、lxml等进行数据的处理与分析。

3系统设计与分析

在Python网络爬虫系统的基础上,构建新的系统,主要主要提取网页中的文字信息、音频信息、视频信息以及图片信息。若进行网页数据关键字的查询,可通过关键字检索到想要的数据信息,并将获得的数据转移至数据库中,然后将其下载至本地txt文件里,对相关信息进行处理与储存,然后继续检索。而系统需要符合以下八项要求,其一,在登录网站时,在不借助浏览器的情况下能够进行登录,即在控制台的辅助下,只需用户名、对应的密码以及验证码即可。其二,在登录网站后,可获取相关的代码,能够超越游客权限,从而提取网页代码。其三,收集并整理所提取的网页数据,在正则表达式的作用下,对收集的信息进行处理,剔除无效或者多余的信息,从而使获得的信息更加准确有效。其四,具备选页、翻页选项,在进行实时的网页数据的抓取时,在控制台的辅助下,能够进行选页、翻页等操作,从而提高信息抓取的效率,使提取的信息更加全面、准确。其五,具备关键字查询选项,通过关键字的输入,实现对信息的检索,将检索到的信息进行下载。其六,能够对图片进行处理,在检索到用户想要的图片后,在将图片储存至本地文件的同时,还能够处理并分析图片所包含的信息,并将信息提取至txt文件中。其七,能够进行准确的分类,在收集到相关信息后,需对收集的信息进行相应的处理,分析信息的差异性,从而将其分为不同的类别,以选择与之契合的储存路径及储存方式。其八,能够储存用户信息,通过用户的个人中心,收集与用户相关联的其他用户信息,包括用户的名称、用户头像以及用户的背景图片等。就Python爬虫技术的网页数据抓取与分析而言,能够满足以上要求是必不可少的,网络爬虫本身注重对网页数据的抓取与分析,侧重点在网页数据的抓取与分析上,在用户交互方面的功能上有所欠缺。

4 结语

随着互联网信息变得更加的多样性、复杂性,爬取准确有效的信息的难度也会越来越高,面临着日益复杂的网络环境,还需不断的优化Python爬虫技术,使其对网页数据的抓取与分析更加高效、快捷。

参考文献

[1] 谢克武.大数据环境下基于python的网络爬虫技术[J].电子制作,2017(9):44-45.

[2] 熊畅.基于Python爬虫技术的网页数据抓取与分析研究[J].数字技术与应用,2017(9):35-36.

[3] 李玉香,王孟玉,涂宇晰.基于python的网络爬虫技术研究[J].信息技术与信息化,2019(12):143-145.

[4] 温娅娜,袁梓梁,何咏宸,等.基于Python爬虫技术的网页解析与数据获取研究[J].现代信息科技,2020,4(1):12-13+16.

[5] 李培.基于Python的网络爬虫与反爬虫技术研究[J].计算机与数字工程,2019,47(6):1415-1420+1496.

[6] 吴永聪.浅谈Python爬虫技术的网页数据抓取与分析[J].计算机时代,2019(8):94-96.

[7] 卢星.Python爬虫技术的特性及其应用分析[J].中国新通信,2019,21(15):112-113.

[8] 望江龙,王晓红.基于Python爬虫技术实现[J].电脑编程技巧与维护,2019(9):18-20+41.

收稿日期:2020-09-15

基金项目:南京审计大学教改课题,“新商科”背景下基于数据驱动的实验教学研究(编号:2019JG050)

作者简介:徐志(1974—),男,安徽桐城人,国际注册会计师,研究方向:审计理论与实务。

Python Crawler Technology Webpage Data Capture and Analysis

XU Zhi1,JIN Wei 2

(Audit Bureau of Jiangning District, Nanjing City, Jiangsu Province,Nanjing  Jiangsu  211100)

Abstract: With the advent of the information age, the amount of information on the Internet has shown explosive growth. How to find effective information in many complex information easily and quickly, and the birth of web crawlers can effectively solve such problems and improve information The current situation of retrieval, this article analyzes the Python crawler technology through an overview of the principles of web crawlers.

Keywords: webpage data; crawling; Python crawler technology; analysis

猜你喜欢

分析
禽大肠杆菌病的分析、诊断和防治
隐蔽失效适航要求符合性验证分析
电力系统不平衡分析
电力系统及其自动化发展趋势分析
经济危机下的均衡与非均衡分析
对计划生育必要性以及其贯彻实施的分析
GB/T 7714-2015 与GB/T 7714-2005对比分析
网购中不良现象分析与应对
中西医结合治疗抑郁症100例分析
伪造有价证券罪立法比较分析