2023年11月28日发(作者:)
獻据戽技术
信■与电圈
China Computer & Communication
202024
年第期
基于的网页数据爬虫设计分析
Python
李传科
(海南软件职业技术学院,海南琼海571400)
摘要:在“互联网+”时代,面对冗杂的数据需要通过构建模型得出准确的结论。基于此,本文首先阐述了网络爬
虫的相关概念,进而分析了网络爬虫的案例,比如根据网页的基本结构对其进行分析,使用不同的分析工具获取更准确
的信息。
关键词:互联网;网络肢虫;数据整理
中图分类号:TP393. 092 文献标识码:A 文章编号:1003-9767 (2020) 24-130-03
Design and Analysis of Web Data Crawler Based on Python
LI Chuanke
(HainanCollegeofSoftwareTechnologyQionghaiHainanChina
, 571400, )
Abstract: +,?, ,
Intheeraof^Internetinthefaceoftheredundantdataweneedtobuildaccurateconclusionsthroughbuilding
modelsBasedonthisthispaperfirstexpoundstherelatedconceptsofwebcrawlerandthenanalyzesthecasesofwebcrawlersuch
. , , ,
asanalyzingitaccordingtothebasicstructureofthewebpageusingdifferentanalysistoolstoobtainmoreaccurateinformation
, .
Keywords: ; ;
Internetwebcrawlerdatasorting
〇引言
用来编写自动化脚本,随着不断的发展现在多被用于开发独
它可以应用在网页开发、人工智能、软件开发、 立的大型项目。
随着大数据时代的到来,人们使用网络的频率越来越高,
人们在查询资料、观看视频时都需要用到网页,网页中包含
后端开发、网络爬虫等领域,具有简洁性、易读性和可扩展
的数据有很多人们看不到的内容。以往人们查不到的信息,
现在只需要输人关键词就可以找到,搜索引擎成为人们获取
信息的一个工具,能够满足人们的数据需求[1_4]。
网络爬虫是一个自动收集定向网络信息的程序,可以
通过编写程序的方式采集所需要的信息。在收集信息后,要
对这些数据都进行划分整理,并把整理出的数据都存储到电
脑中。本文主要阐述了网络爬虫的相关内容,并把收集到的
信息全部录入相应的数据库中。在进行爬虫设计时,要对
Python的相关内容进行了解,根据Python在爬虫方面的特
点,设计一个完整的框架,保证可以获取有用的内容。为了
解决爬虫程序中的问题,可以采用反爬虫结构保证数据的准
确性。
性,在国外很多人用它来做科学计算研究,用来教授程序
课程。
1.2网络爬虫的原理
在搜索引擎中,网络爬虫是一个重要组成部分,它的主
要作用就是把网络中的网页下载到本地电脑中,可以对相关
的内容进行备份。在传统的爬虫设计中,多是通过获取一个
或若干个初始网页的URL开始的,在进行抓取时需要对页
面中的URL进行不断更新,直到满足人们的需求为止。在
整个系统中,重要的组成部分是待抓取URL队列,因为这
与抓取的具体步骤相关,可以明确抓取的页面情况。在完成
抓取任务后这些页面会被保存到系统中,人们再对其进行相
应的分析和整理,通过建立索引的方式进行后续查询。
网络爬虫的基本工作流程如下:第一,在爬取前选择合
适的URL;第二,把这些URL放人待抓取URL队列中;第
1.1 Python 简介
Python是一个跨平台的计算机程序设计语言,最开始是
三,从这些队列中选择合适的URL,在获得IP后把URL对
应的网页下载到网页库中;第四,通过分析抓取相关队列中
1网络爬虫概述
作者简介:
李传科(1988—),男,海南万宁人,硕士研宄生,讲师。研宄方向:软件技术、人工智能、应用。
Linux
130
信篇与电H
202024China Computer & Communication
年第期
獻据戽技术
的URL,分析相关内容,再把它放入待抓取的队列中,如此
循环往复进行下个抓取。
1.3网络爬虫的分类
网络爬虫的主要作用就是可以顺着网页追踪人们所需的
数据,根据相关的规则自动抓取网络中的程序或者脚本。随
着网络的快速发展,出现了越来越多的信息,为了进一步提
取有效的信息可以把网页中的相关资源集中在一起。网络爬
虫主要分为4个类型:一是通用网络爬虫,是由初始URL集
合、URL队列、页面爬行模块、页面分析模块、数据库等构
成;二是聚焦网络爬虫,主要应用在特定信息的爬取中,可
包括两部分的内容:一是基础信息,二是其他信息。对于不
同的信息来说有不同的小标题,在提取内容时,要对这些小
标题进行判断,当发现有小标题时就需要对内容进行赋值,
反之就把小标题赋为空值,这样可以降低找不到小标题的
概率,不会影响爬取整页文书。fullJudgement下面都是基
础信息,可以对其进行提取存放到相应的列表中。其他信
息是在full Judgement下面的paragraphs下面,可以运用相
应的方式把信息提取出来,再把每个小标题放入相应的列
表中。
(6)加强分析与整理。对获取的信息通过列表的方式
进行相应的分析与整理,把它们汇总到Excel中。为了更好
以为某一特定的人群提供相应的服务;三是增量式网络爬虫,
地对数据的进行分析,可以把爬取的内容放入Excel中,当
只爬取内容发生变化的网页或新产生的网页;四是深层网络
数据比较多的时候,可以把它们放置到MongoDB中。
爬虫,可以隐藏在表单后,不能通过直接的方式来获取,需
要输入一些关键词后才能获取。
2.1.2使用selenium自动获取K面爬取
第一,进人网页数据库中,通过模式的方式进人网页中。
第二,通过登录的方式进人页面。第三,通过模仿的方式点
击页面,每个步骤都不能少,要不然就会停滞不前,使整个
程序出现异常。第四,在使用webdrive库的find_element_
by_xpath 和 find_element_by_css_selector 方法,找到相应的
位置后进行点击。第五,登录账号。在进入网站时需要登录
2.1爬取流程和运行结果
通过Spyder可以根据所要查询的内容进人相关网页进行
爬虫,通过该方法对结果进行相应的转换并存储,本文主要
运用两种方式进行爬取,现将鹏取过程和运行结果列出来。
2.1_1结合数据存取方式进行爬取
(1) 注意程序伪装问题。通过浏览器进行请求时,当
程序不能兼容浏览器时,人们便没有办法获取相关内容。所
以,在爬取过程中需要对程序进行伪装。这样在运用request
库时,可以传递相关内容加人指定的headers。目前,大部
分网站要想看到详细的内容就需要进行登录,才能获取更
多的内容,所以使用cookie值时要注意在登录后才会产生
cookie 值 〇
(2) 通过for循环来翻页。在运用浏览器搜索网页时可
才能获取更详细的信息,要根据页面提示进行登录,然后再
进行相应的搜索。第六,在进行登录时,需要输入相应的账
号和密码,再用send_keys的方法做好输人工作,再次进行
点击才能完成登录工作。第七,输人关键词进行爬取。在进
行这一步骤时,可以通过find_elements_by_css_selector用法
进入相应的页面后,可以根据关键词获取相应的信息,
这样可以保证在爬取的过程中可以尽可能多获取相关的信
息,最后把收集上来的信息都整合在一起。运用Selenium方
法进行翻页,在爬取时可以进人详细页面中。步骤都是一样
的,完成一页爬取后再跳转到下一页。首先,进人详细信息
2网络爬虫的案例分析
为了让人们可以更加便利地在网页中查找数据,本文主
要运用爬虫方式获取网页中的数据,对收集到的数据进行储
存,从而方便人们对数据进行分析。
获取关键词的具体位置,再输人关键词进行搜索。
页。点击相关标题进行跳转,运用witch_to_window方法,
保证可以进入相关页面中。其次,爬取详细信息。在电脑中
找到每个部分对应的标签,当它们相同时,才可以通过get_
attribute找到具体的位置。对于小标签来说要进行赋空值,
通过搜索关键词来查看。在输人不同关键词时可 (3)
这样可以提高爬取的效率。再通过find_elements_by_css_
selector方法,根据所需内容进行爬取,对其进行赋予变量
值。最后,对变量进行集中并放人到列表中,这样方便存人
Excel中。为了更好地对数据进行相应的处理和分析,把爬
以发现,一页中显示的数据量是有限的,在查看的过程中,
要想查询更多的数据就可以通过翻页来查看。
以发现,仅searchWord有所改变。关键词的数值是固定不变
的,需要传递到URL中,有时会出现错误的情况,所以要
把后面的部分进行单独赋值,把数据都整理后再进行传递,
从而才能保证正常运行。
(4) 搜索页面中获得相应的数据编号,再进人详细页面。
取的内容可以存到Excel中,对于数据比较多的内容可以存
MongoDB中。放到
2.2设计过程中遇到的问题
在设计的过程中,主要遇到了两个问题。第一,代码问
题。在运用常规的方法时可能会遇到代码问题,此时便需要
根据内容对其进行修改。第二,在设计代码的过程中,如果
遇到翻页的问题,便无法设置固定数据。为了解决相关问题,
首先,通过研究可以发现,在面对不同信息时,URL只有
judgementID=丨丨是有变化的,也就是每个信息在网站上都有
属于自己的ID。其次,在页面搜索的过程中需要找到相应的
ID。最后,通过format把ID传递进URL中,这样就可以完
成对搜索页的工作,再进人更加详细的页面中。
(5) 进人详细页面后查看具体的内容。这个页面主要
131
獻据專技术
信■与田腰
China Computer & Communication
202024
年第期
需要把网页中的数据放置到文件中的一个特定位置,再输人
相关的词语才能完成爬取页面的工作。
[1] 李玉香,王孟玉,涂宇晰.基于python的网络爬虫技
参考文献
从网络爬虫看平台数 [2] 丁晓东.数据到底属于谁?—
术研究[J].信息技术与信息化,2019(12):143-145.
[3] 吴永聪.浅谈Python爬虫技术的网页数据抓取与分
[4] 曾健荣,张仰森,郑佳,等.面向多数据源的网络爬虫
据权属与数据保护[J].华东政法大学学报,2019,22(5):69-83.
析[J]•计算机时代,2〇19(8):94_96.
3结语
随着互联网的不断发展,网络走入千家万户,对企业
的发展产生了很大的影响。企业经营需要用到大量的数据,
为了更好地在众多信息中获取准确的数据,可以通过爬虫程
序获取既定目标,有选择性地访问网址获取所需的信息,帮
助企业对数据进行抓取和分析,为企业进行决策提供正确的
数据。
实现技术及应用[J].计算机科学,2019,46(5):304-309.
132
发布评论