CN109635176A - 网页数据获取方法、装置及电子设备 - Google Patents
网页数据获取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109635176A CN109635176A CN201811356180.1A CN201811356180A CN109635176A CN 109635176 A CN109635176 A CN 109635176A CN 201811356180 A CN201811356180 A CN 201811356180A CN 109635176 A CN109635176 A CN 109635176A
- Authority
- CN
- China
- Prior art keywords
- resource
- type
- webpage
- data acquisition
- set information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种网页数据获取方法、装置及电子设备,涉及互联网技术领域。方法应用于电子设备,方法包括:识别并记录网页中各资源的类型和位置;确定待获取资源;从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置;根据所述待获取资源的类型和位置生成爬虫程序;执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。提升了网页数据获取便捷性。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种网页数据获取方法、装置及电子设备。
背景技术
爬虫又被称为网络爬虫、网页蜘蛛、网络机器人或者网页追逐者,是一种按照一定的规则,自动地获取万维网信息的程序或者脚本。随着网络的迅速发展,互联网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。
随着网络的迅速发展,在很多场景中,需要从互联网中提取信息以供使用。搜索引擎(Search Engine)作为辅助人们从互联网中检索信息的工具成为用户访问互联网的入口和指南。为了实现从互联网中提取信息,可以通过搜索引擎访问互联网,并采用爬虫程序获取网页数据。
爬虫程序可以使用多种程序语言来实现,例如,可以使用静态编程语言如java、c#、C++等实现。又例如,可以使用动态脚本语言如perl、shell等实现。又例如,可以使用python实现。鉴于python抓取网页数据的接口较简洁;python的urllib2包提供了较为完整的访问网页的应用程序编程接口(Application Programming Interface,API);在python中有非常优秀的第三方包可以使用,能够在抓取网页数据时模拟浏览器的行为,模拟用户的行为构造所需请求,如模拟用户登陆、模拟session(时域)/cookie(储存在用户本地终端上的数据)的存储和设置,可以避免因生硬的爬虫抓取而被网站封杀,因而,使用python语言开发爬虫程序性能较好。
经研究发现,虽然可以采用多种工具包帮助程序员完成爬虫程序的开发,降低爬虫程序的编码难度,但是采用爬虫程序获取网页数据需要先分析网页的代码结构,根据网页的代码结构编写遍历算法,获取用户所需的数据,这对程序员提出了较高要求。例如,针对使用超级文本标记语言(HyperText Markup Language,HTML)、层叠样式表(CascadingStyle Sheets,CSS)、Javascript等组成的网页,程序员需要能看懂网页的代码,分析出待获取资源数据的类型和位置,才能完成爬虫程序的编写,对程序员的技术能力提出了一定的要求。因而,采用爬虫程序获取网页数据大都由专业的公司雇佣具有相关技术能力的程序员完成。
然而,随着互联网技术的发展,网络上的资源越来越丰富,不仅仅是专业的公司,如信息科技和产业(Information Technology,IT)公司需要从互联网获取数据信息,任何一个网络用户都可能存在从互联网获取数据信息的需求。而现今的爬虫程序需要先分析网页的代码结构,如分析网页的HTML的树形结构,找到需要获取的数据块,并需要编写对应的程序代码,进而实现数据的获取,没有程序开发经验的人很难实现。而大部分网络用户并不具备程序开发经验,导致大部分网络用户无法采用爬虫程序获取网页数据。
发明内容
有鉴于此,本公开提供一种网页数据获取方法、装置及电子设备。
第一方面,本公开提供了一种网页数据获取方法,应用于电子设备,所述方法包括:
识别并记录网页中各资源的类型和位置;
确定待获取资源;
从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置;
根据所述待获取资源的类型和位置生成爬虫程序;
执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
可选地,识别并记录网页中各资源的类型和位置的步骤,包括:
获取所述网页的源代码;
格式化所述源代码,删除所述源代码中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的源代码中提取超文本标记语言HTML标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
可选地,识别并记录网页中各资源的类型和位置的步骤,包括:
获取所述网页的超文本传输协议HTTP数据包;
格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
可选地,所述资源的类型包括文字、图片、文档、音频和视频,所述电子设备中存储有各所述类型对应的操作提示;
所述确定待获取资源的步骤,包括:
检测所述网页上的用户操作;
确定所述用户操作在所述网页中的操作位置;
根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源;
从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示;
检测用户选中的目标操作,将所述用户选中的目标操作对应的资源作为待获取资源。
可选地,根据所述待获取资源的类型和位置生成爬虫程序的步骤,包括:基于设定的爬虫程序生成模板,根据所述待获取资源的类型和位置生成爬虫程序;其中,生成的爬虫程序为python爬虫程序。
第二方面,本公开提供一种网页数据获取装置,应用于电子设备,所述网页数据获取装置包括:
信息获取模块,用于识别并记录网页中各资源的类型和位置;
数据获取模块,用于确定待获取资源;
信息查找模块,用于从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置;
信息处理模块,用于根据所述待获取资源的类型和位置生成爬虫程序;
数据获取模块,用于执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
可选地,所述信息获取模块用于通过以下步骤识别并记录网页中各资源的类型和位置:
获取所述网页的源代码;
格式化所述源代码,删除所述源代码中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的源代码中提取超文本标记语言HTML标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
可选地,所述信息获取模块用于通过以下步骤识别并记录网页中各资源的类型和位置:
获取所述网页的超文本传输协议HTTP数据包;
格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
可选地,所述资源的类型包括文字、图片、文档、音频和视频,所述电子设备中存储有各所述类型对应的操作提示,所述数据获取模块用于通过以下步骤确定待获取资源:
检测所述网页上的用户操作;
确定所述用户操作在所述网页中的操作位置;
根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源;
从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示;
检测用户选中的目标操作,将所述用户选中的目标操作对应的资源作为待获取资源。
第三方面,本公开提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述网页数据获取方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行上述网页数据获取方法。
本公开提供的网页数据获取方法、装置及电子设备,对网页中各资源的类型和位置进行识别和记录,从记录的各资源的类型和位置中,查找出待获取资源的类型和位置,从而根据待获取资源的类型和位置生成爬虫程序,执行该爬虫程序即可从网页中获取与待获取资源相关的数据,无需用户执行网页代码分析、编程等操作,提高数据获取的便捷性,使得不具备程序开发经验的网络用户也可以便捷地获取网页数据。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种电子设备的方框示意图。
图2为本公开提供的一种网页数据获取方法的流程示意图。
图3为本公开提供的图2中步骤S11的一种流程示意图。
图4为本公开提供的一种网页示意图。
图5为本公开提供的图2中步骤S11的另一流程示意图。
图6为本公开提供的图2中步骤S12的一种流程示意图。
图7为本公开提供的一种网页数据获取装置的方框示意图。
图标:10-电子设备;11-存储器;12-处理器;13-网络模块;14-网页数据获取装置;141-信息获取模块;142-数据获取模块;143-信息查找模块;144-信息处理模块;145-数据获取模块。
具体实施方式
基于上述研究,本公开提供一种网页数据获取方法、装置及电子设备,无需用户执行编写爬虫程序等繁复的操作,通过简单的操作便可获取网页数据,使得不具备程序开发经验的网络用户也可以采用爬虫程序获取网页数据。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,是本公开提供的电子设备10的一种方框示意图。本公开中的电子设备10可以为能够安装软件程序,并进行数据处理的设备,如用户终端设备、网络服务器等。如图1所示,电子设备10包括:存储器11、处理器12和网络模块13。
所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本公开中由电子设备10执行的网页数据获取方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本公开中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立电子设备10与外部通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。本公开对此不作限制。
在上述基础上,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备10执行下述网页数据获取方法。
请结合参阅图2,本公开提供一种网页数据获取方法,该方法可以由图1所示电子设备10执行。方法包括以下步骤。
步骤S11,识别并记录网页中各资源的类型和位置。
识别网页中各资源的类型和位置的方式有多种,本公开以下述两种方式进行举例说明。
请结合参阅图3,可以通过以下方式识别网页中各资源的类型和位置。
步骤S111,获取所述网页的源代码。
步骤S112,格式化所述源代码,删除所述源代码中的设定信息。
其中,所述设定信息包括直译式脚本语言(JavaScript,JS)和层叠样式表(Cascading Style Sheets,CSS)。
设定信息为与获取资源的类型和位置无关的信息,删除设定信息可以使得源代码的数据量显著减小。
步骤S113,从删除所述设定信息的源代码中提取超文本标记语言(HyperTextMarkup Language,HTML)标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
由于删除设定信息后,源代码的数据量显著减小,从而能够较为快速地提取出HTML标签。HTML标签是HTML语言中最基本的单位,HTML标签是HTML最重要的组成部分,HTML标签中常以尖括号包围关键词,如<img>定义图像、<text>定义文本、<src>定义网址、<audio>定义声音内容、<ins>定义被插入文本、<xmp>定义预格式文本、<video>定义视频等。从而基于HTML标签,即可得到网页中各资源的类型。HTML标签中包括资源的位置相关属性,基于HTML标签,可以通过绝对定位、固定定位、相对定位等获得网页中各资源的位置。例如,通过绝对定位获得网页中各资源的位置的方式可以为:针对网页中的每个资源,以该资源的父元素作为参照物,根据HTML标签中包括的该资源的位置属性,如left、right、top、bottom等相对于该资源最接近的具有定位属性的父元素进行绝对定位。如果该资源的父元素不具有定位属性,可以遵循HTML定位规则,依据body对象左上角作为参考进行定位。又例如,通过固定定位获得网页中各资源的位置的方式可以为:针对网页中的每个资源,基于浏览器视窗,根据HTML标签中包括的该资源的位置属性,如left、right、top、bottom等相对于浏览器视窗进行固定定位。
请结合参阅图4,列举了一种网页示意图,其中,“XXX”表示文字,带有曲线的矩形框表示图片。采用步骤S111至步骤S113对该网页的源代码进行处理,并提取HTML标签之后,可以得到该网页中各资源的类型和位置如下。
行号:1;文字,文字,文字,文字
行号:2;图片,图片,图片
行号:3;图片
行号:4;图片,图片
应当理解,网页中各资源的类型可以有多种,例如,可以包括文字、图片、文档、音频、视频等。相应地,从网页中获取的各资源的类型可能包括音频文件、视频文件、便携式文档格式(Portable Document Format,PDF)文件等。基于HTML标签,通过上述的绝对定位、固定定位、相对定位等,便可得到网页中各资源的位置。从而得到网页中各资源的类型和位置。
请结合参阅图5,也可以通过以下方式识别网页中各资源的类型和位置。
步骤S114,获取所述网页的超文本传输协议HTTP数据包。
步骤S115,格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息。
电子设备10可以从互联网中获取各HTTP数据包并进行解析,得到包括网页的HTML页面内容的HTTP数据包,格式化该HTTP数据包,删除设定信息。
其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS。
设定信息为与获取资源的类型和位置无关的信息,删除设定信息可以使得HTTP数据包的数据量显著减小。
步骤S116,从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
HTTP数据包中包括网页的HTML页面内容,因而HTTP数据包中包括HTML标签。由于删除设定信息后,HTTP数据包中的数据量显著减小,从而能够较为快速地提取出HTML标签,进而基于提取出的HTML标签获得并记录网页中各资源的类型和位置。基于HTML标签获得并记录网页中各资源的类型和位置的方式,可以参阅上述对图3所示方案的相关描述,因而在此不作赘述。
步骤S12,确定待获取资源。
可以通过多种方式确定待获取资源,请结合参阅图6,本公开提供了其中一种示例性实现方式,包括步骤S121至步骤S125。
步骤S121,检测所述网页上的用户操作;
步骤S122,确定所述用户操作在所述网页中的操作位置。
用户在网页中进行操作的方式有多种,例如,在电子设备10采用鼠标进行输入操作时,用户可以移动鼠标指向网页中的待获取资源,相应地,可以检测鼠标指针在网页中的操作位置,从而确定用户操作在网页中的操作位置。又例如,在电子设备10支持触摸操作时,用户可以通过长按、单次点击、多次点击,执行设定操作手势如滑动、圈选等指向网页中的待获取资源,相应地,可以检测用户的触摸操作,确定触摸操作在网页中的操作位置。
电子设备10检测到用户操作后,识别出该用户操作在网页中的操作位置,该操作位置可以基于用户操作位于电子设备10显示屏的设定点的相对距离和方向得出。例如,可以根据鼠标所在位置相对于电子设备10显示屏左上角的距离和方向,得出操作位置。
步骤S123,根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源。
鉴于已经记录了各资源在网页中的位置,因而可以查找出操作位置对应的资源的类型和具体位置。鉴于用户在网页中的操作位置可能仅为待获取资源的局部位置,例如,待获取资源为一副图片时,用户在网页中的操作位置可能仅为图片的局部区域。为了准确地确定待获取资源,电子设备10选中操作位置对应的资源,如用户在网页中的操作位置为图片的局部区域时,电子设备10直接选中整副图片。
步骤S124,从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示。
为了便于用户获取网页中的资源,电子设备10中可以存储各类型对应的操作提示,查找出与选中的资源的类型对应的目标操作提示并展示。以引导用户执行资源获取操作。
其中,操作提示可以灵活设置,例如,操作提示可以包括获取不同类型的资源,如“获取图片”、“获取文本”、“获取音频”、“获取视频”等。相应地,目标操作提示为获取选中的资源的类型,例如,若选中的资源的类型为图片,那么,目标操作提示为“获取图片”,若选中的资源的类型为文本,那么,目标操作提示为“获取文本”,以此类推。操作提示可以进行更细化的划分,例如,操作提示可以包括“仅获取选中的资源”、“获取与选中的资源类型相同的所有资源”等。本公开对此不作限制。
步骤S125,检测用户选中的目标操作,将所述用户选中的目标操作对应的资源作为待获取资源。
根据用户选中的目标操作,即可将目标操作对应的资源作为待获取资源。例如,若用户选择“仅获取选中的资源”,那么,待获取资源为选中的资源。又例如,若用户选择“获取与选中的资源类型相同的所有资源”,那么,待获取资源为网页中与选中的资源类型相同的所有资源。
步骤S13,从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置。
类似地,若用户选择“仅获取选中的资源”,那么,待获取资源的类型和位置为选中的资源的类型和位置。若用户选择“获取与选中的资源类型相同的所有资源”,那么,待获取资源的类型和位置为网页中与选中的资源类型相同的所有资源的类型和位置。
步骤S14,根据所述待获取资源的类型和位置生成爬虫程序。
待获取资源的类型和位置为生成爬虫程序的关键参数,在采用本公开中的方案自动得到待获取资源的类型和位置之后,可以直接基于一设定的爬虫程序生成模板,根据待获取资源的类型和位置生成爬虫程序。
可选地,根据所述待获取资源的类型和位置生成的爬虫程序为python爬虫程序。
步骤S15,执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
本公开中,在从网页中获取待获取资源的数据后,可以将获取到的数据保存在电子设备10中,以供用户便捷地查阅。
请参阅图7,本公开提供一种网页数据获取装置14,应用于电子设备10,所述网页数据获取装置14包括信息获取模块141、数据获取模块142、信息查找模块143、信息处理模块144和数据获取模块145。
其中,信息获取模块141用于识别并记录网页中各资源的类型和位置。
关于信息获取模块141的实现方式可以参阅图2中步骤S11的相关描述,在此不作赘述。
数据获取模块142用于确定待获取资源。
关于数据获取模块142的实现方式可以参阅图2中步骤S12的相关描述,在此不作赘述。
信息查找模块143用于从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置。
关于信息查找模块143的实现方式可以参阅图2中步骤S13的相关描述,在此不作赘述。
信息处理模块144用于根据所述待获取资源的类型和位置生成爬虫程序。
关于信息处理模块144的实现方式可以参阅图2中步骤S14的相关描述,在此不作赘述。
数据获取模块145用于执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
关于数据获取模块145的实现方式可以参阅图2中步骤S15的相关描述,在此不作赘述。
可选地,所述信息获取模块141用于通过以下步骤识别并记录所述电子设备10上打开的网页中各资源的类型和位置:获取所述网页的源代码;格式化所述源代码,删除所述源代码中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;从删除所述设定信息的源代码中提取超文本标记语言HTML标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
可选地,所述信息获取模块141用于通过以下步骤识别并记录所述网页中各资源的类型和位置:获取所述网页的超文本传输协议HTTP数据包;格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
可选地,所述资源的类型包括文字、图片、文档、音频和视频,所述电子设备10中存储有各所述类型对应的操作提示,所述数据获取模块142用于通过以下步骤确定待获取资源:检测所述网页上的用户操作;确定所述用户操作在所述网页中的操作位置;根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源;从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示;检测用户选中的目标操作,将所述目标操作对应的资源作为待获取资源。
本公开提供的网页数据获取方法、装置及电子设备10,无需用户进行编写爬虫程序等繁复的操作,通过简单的选择操作便可智能地获取网页数据,使得不具备程序开发经验的网络用户也可以采用爬虫程序获取网页数据,显著提升了网页数据获取的便捷性。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种网页数据获取方法,其特征在于,应用于电子设备,所述方法包括:
识别并记录网页中各资源的类型和位置;
确定待获取资源;
从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置;
根据所述待获取资源的类型和位置生成爬虫程序;
执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
2.根据权利要求1所述的网页数据获取方法,其特征在于,识别并记录网页中各资源的类型和位置的步骤,包括:
获取所述网页的源代码;
格式化所述源代码,删除所述源代码中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的源代码中提取超文本标记语言HTML标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
3.根据权利要求1所述的网页数据获取方法,其特征在于,识别并记录网页中各资源的类型和位置的步骤,包括:
获取所述网页的超文本传输协议HTTP数据包;
格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
4.根据权利要求2或3所述的网页数据获取方法,其特征在于,所述资源的类型包括文字、图片、文档、音频和视频,所述电子设备中存储有各所述类型对应的操作提示;
所述确定待获取资源的步骤,包括:
检测所述网页上的用户操作;
确定所述用户操作在所述网页中的操作位置;
根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源;
从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示;
检测用户选中的目标操作,将所述用户选中的目标操作对应的资源作为待获取资源。
5.根据权利要求1所述的网页数据获取方法,其特征在于,根据所述待获取资源的类型和位置生成爬虫程序的步骤,包括:基于设定的爬虫程序生成模板,根据所述待获取资源的类型和位置生成爬虫程序;其中,生成的爬虫程序为python爬虫程序。
6.一种网页数据获取装置,其特征在于,应用于电子设备,所述数据获取装置包括:
信息获取模块,用于识别并记录网页中各资源的类型和位置;
数据获取模块,用于确定待获取资源;
信息查找模块,用于从记录的所述各资源的类型和位置中,查找出所述待获取资源的类型和位置;
信息处理模块,用于根据所述待获取资源的类型和位置生成爬虫程序;
数据获取模块,用于执行所述爬虫程序,从所述网页中获取所述待获取资源的数据。
7.根据权利要求6所述的网页数据获取装置,其特征在于,所述信息获取模块用于通过以下步骤识别并记录网页中各资源的类型和位置:
获取所述网页的源代码;
格式化所述源代码,删除所述源代码中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的源代码中提取超文本标记语言HTML标签,基于所述HTML标签获得并记录所述网页中各资源的类型和位置。
8.根据权利要求6所述的网页数据获取装置,其特征在于,所述信息获取模块用于通过以下步骤识别并记录网页中各资源的类型和位置:
获取所述网页的超文本传输协议HTTP数据包;
格式化所述HTTP数据包,删除所述HTTP数据包中的设定信息,其中,所述设定信息包括直译式脚本语言JS和层叠样式表CSS;
从删除所述设定信息的HTTP数据包中分析得到并记录所述网页中各资源的类型和位置。
9.根据权利要求7或8所述的网页数据获取装置,其特征在于,所述资源的类型包括文字、图片、文档、音频和视频,所述电子设备中存储有各所述类型对应的操作提示,所述数据获取模块用于通过以下步骤确定待获取资源:
检测所述网页上的用户操作;
确定所述用户操作在所述网页中的操作位置;
根据所述操作位置,以及记录的所述各资源的位置,得到所述操作位置对应的资源的类型,并选中该资源;
从预存的各操作提示中查找出与选中的资源的类型对应的目标操作提示,并展示所述目标操作提示;
检测用户选中的目标操作,将所述用户选中的目标操作对应的资源作为待获取资源。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5任一项所述的网页数据获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811356180.1A CN109635176A (zh) | 2018-11-14 | 2018-11-14 | 网页数据获取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811356180.1A CN109635176A (zh) | 2018-11-14 | 2018-11-14 | 网页数据获取方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109635176A true CN109635176A (zh) | 2019-04-16 |
Family
ID=66067942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811356180.1A Pending CN109635176A (zh) | 2018-11-14 | 2018-11-14 | 网页数据获取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635176A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194161A1 (en) * | 2001-04-12 | 2002-12-19 | Mcnamee J. Paul | Directed web crawler with machine learning |
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN104573001A (zh) * | 2015-01-07 | 2015-04-29 | 北京联合大学 | 一种基于移动终端的网页数据采集及归类的方法 |
CN107943862A (zh) * | 2017-11-09 | 2018-04-20 | 天脉聚源(北京)传媒科技有限公司 | 一种智能生成爬虫的方法及装置 |
-
2018
- 2018-11-14 CN CN201811356180.1A patent/CN109635176A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194161A1 (en) * | 2001-04-12 | 2002-12-19 | Mcnamee J. Paul | Directed web crawler with machine learning |
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN104573001A (zh) * | 2015-01-07 | 2015-04-29 | 北京联合大学 | 一种基于移动终端的网页数据采集及归类的方法 |
CN107943862A (zh) * | 2017-11-09 | 2018-04-20 | 天脉聚源(北京)传媒科技有限公司 | 一种智能生成爬虫的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562620B (zh) | 一种埋点自动设置方法和装置 | |
US9274934B2 (en) | System and method for creating change-resilient scripts | |
US8065667B2 (en) | Injecting content into third party documents for document processing | |
US11748557B2 (en) | Personalization of content suggestions for document creation | |
CN105868096B (zh) | 用于在浏览器中显示web页面测试结果的方法、装置及设备 | |
CN108566399B (zh) | 钓鱼网站识别方法及系统 | |
RU2662632C2 (ru) | Представление документов фиксированного формата в формате с измененной компоновкой | |
US9934206B2 (en) | Method and apparatus for extracting web page content | |
US8909765B2 (en) | Analyzing webpage users' web access actions by using a defined focal region | |
US20150227276A1 (en) | Method and system for providing an interactive user guide on a webpage | |
CN105243058A (zh) | 一种网页内容翻译方法及电子设备 | |
CN106951495A (zh) | 用于呈现信息的方法和装置 | |
WO2018093899A1 (en) | Electronic form identification using spatial information | |
CN107294918B (zh) | 一种钓鱼网页检测方法及装置 | |
CN103500158A (zh) | 批注电子文档的方法和装置 | |
WO2015043352A1 (en) | Method and apparatus for selecting test nodes on webpages | |
CN104899203B (zh) | 一种网页页面的生成方法、装置及终端设备 | |
CN110309463A (zh) | 落地页优化方法、装置、计算机存储介质及网络设备 | |
CN111723235A (zh) | 音乐内容识别方法、装置及设备 | |
CN101611423B (zh) | 将结构化数据用于在线调查 | |
US8751508B1 (en) | Contextual indexing of applications | |
CN104268246A (zh) | 生成访问互联网站点指令脚本的方法及访问方法和装置 | |
CN112579947A (zh) | 网页元素图的截取方法、装置及电子设备 | |
CN109635176A (zh) | 网页数据获取方法、装置及电子设备 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190416 |