CN113343152B - 网络资源获取方法及装置 - Google Patents
网络资源获取方法及装置 Download PDFInfo
- Publication number
- CN113343152B CN113343152B CN202110714037.0A CN202110714037A CN113343152B CN 113343152 B CN113343152 B CN 113343152B CN 202110714037 A CN202110714037 A CN 202110714037A CN 113343152 B CN113343152 B CN 113343152B
- Authority
- CN
- China
- Prior art keywords
- page
- address
- network resource
- target network
- downloading
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络资源获取方法及装置,方法包括:获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;对起始页面源码信息进行解析处理,提取二级页面地址集合;启动代理服务,创建浏览器代理依次请求二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;对信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历二级页面地址集合中全部的二级页面地址;根据地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。能够批量下载外部动态的目标网络资源,无需如现有下载工具需满足各种限制,更灵活。
Description
技术领域
本发明涉及网络资源获取领域,具体涉及一种网络资源获取方法及装置。
背景技术
现有技术在获取网络资源时,可以通过如下几种方案:
一、例如采用迅雷等面向普通用户的下载工具。在下载文件时,由用户输入要下载网络资源如文件的准确网络地址进行提交,以完成下载。如果要完成多个文件的批量下载,可以采用如下载地址通配符的方式,批量生成下载链接,添加批量下载任务完成文件批量下载;
二、请求网站源码,设定特定的规则对网页元素进行分析筛选,从中获取所需要的页面元素内容,以及页面元素中包含的链接中的网络资源文件。这种方式可以获取到网页上的显示内容以及页面携带的各种类型的网络资源。
但现有技术存在如下缺陷:例如迅雷等面向普通用户的下载工具,大多只能用户手动下载单个网络资源,即使迅雷提供了批量任务下载功能,扩展性也有限,要批量下载网络资源时,这些网络资源的网络地址需要满足比较统一的字母表规律或者数字递增变化规律,如图1所示,若下载a.com下某100个网络资源,这些网络资源的网页路径统一,且网络资源自身的名称需符合规则,如数字递增规则,1.mp3,2.mp3,…,100.mp3,基于以上条件,才可以采用通配符方式匹配,如图1中通过URL过滤,设置网址为http://a.com/(*).mp3。对于不符合上述条件的多个网络资源,无法采用以上方法实现批量下载。对于一些网站对网络资源的名称进行处理,如编码处理等,也无法实现批量下载,只能采用手动添加下载任务一一下载的方式完成下载。请求网站源码时,需要对网页源码进行请求并分析页面元素来下载网页中展示的网络资源,这就限定了获取到的网站源码中必须包含展示的网络资源。但往往网站中还会包含动态的外部网络资源。动态外部资源是指用户可以在浏览器页面看到网络资源,但是不能直接下载网络资源,网页源码中不包含这类网络资源的链接地址。如用户可以在网站正常播放或者收听一段音频或者视频,但网站未提供对应网络资源的下载。对网站的页面源码中的元素进行分析,也没有搜索到相关的地址信息。对于这种类型的网络资源,获取网络资源的下载地址需要用户具备一定的专业技能基础,使用浏览器的开发者控制台工具获取网络资源地址,对用户的技术门槛要求较高。且由于网络资源的地址在对应的网络资源加载后才能由用户使用浏览器的开发者控制台工具一条一条的手动操作获取,其效率低下,无法及时满足用户需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网络资源获取方法及装置。
根据本发明的一个方面,提供了一种网络资源获取方法,其包括:
获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;
对起始页面源码信息进行解析处理,提取二级页面地址集合;二级页面地址集合包含至少一个二级页面地址;
启动代理服务,创建浏览器代理依次请求二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;信息实体包含至少一个网络资源的下载地址;对信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历二级页面地址集合中全部的二级页面地址;
根据地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
根据本发明的另一方面,提供了一种网络资源获取装置,其包括:
获取模块,适于获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;
提取模块,适于根据用户选择的二级页面外部动态网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合;二级页面地址集合包含至少一个二级页面地址;
地址解析模块,适于启动代理服务,创建浏览器代理依次请求二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;信息实体包含至少一个网络资源的下载地址;对信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历二级页面地址集合中全部的二级页面地址;
下载模块,适于根据地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述网络资源获取方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述网络资源获取方法对应的操作。
根据本发明的网络资源获取方法及装置,能够批量处理未在起始页面包含的目标网络资源,且下载时,无需如现有下载工具需满足目标网络资源名称、下载地址命名规则的限制,下载更灵活。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了下载工具批量下载网络资源的页面示意图;
图2示出了根据本发明一个实施例的网络资源获取方法的流程图;
图3示出了用户下载目标网络资源的可视化界面示意图;
图4示出了单页面网络资源获取模式的起始页面示意图;
图5a示出了二级页面网络资源获取模式的起始页面示意图;
图5b示出了二级页面网络资源获取模式的二级页面示意图;
图6示出了根据本发明一个实施例的网络资源获取装置的功能框图;
图7示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示出了根据本发明一个实施例的网络资源获取方法的流程图。如图1所示,网络资源获取方法具体包括如下步骤:
步骤S201,获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息。
本实施例中为方便用户操作,提供给用户可视化的界面,方便用户输入起始页面地址,界面如图3所示,界面中的文字均为举例说明,具体文字内容可以根据实施情况设置,此处不做限定。用户在资源起始页后面的输入框中输入起始页面地址,根据用户输入的起始页面地址,可以采用request请求方法请求传入的起始页面地址,具体实施时可以使用python语言的request模块进行请求,得到对应的起始页面源码信息。此处不做限定。
进一步,考虑到不同起始页面地址,可能存在起始页面已经包含待下载的目标网络资源的情况,也可能在起始页面的二级页面包含待下载的目标网络资源的情况,因此,本实施例在获取到起始页面源码信息后,还对起始页面源码信息进行了预分析处理。具体的,用户还可以在图3所示的目标资源文件后缀的输入框中输入用户所需下载的目标网络资源类型,如.mp4、.m4a、.txt等,也可以利用如*符号代表各种类型等。用户可以点击图3中的分析按钮,以完成对起始页面源码信息的预分析处理,判断起始页面源码信息中是否包含与目标网络资源类型匹配的目标网络资源的下载地址,若是,则确定目标网络资源的获取模式为单页面网络资源获取模式。若否,则确定目标网络资源需要通过二级页面进一步获取。具体的,可以在输出信息控制台中显示与目标网络资源类型匹配的目标网络资源下载地址,帮助用户快速了解到起始页面中包含的信息,有助于用户选择合适的模式完成目标网络资源的下载。若输出信息控制台中显示目标网络资源下载地址,则说明目标网络资源的获取模式为单页面网络资源获取模式,用户可以选择单页面网络资源获取模式,否则,用户可以选择二级页面网络资源获取模式或二级页面外部动态网络资源获取模式。
根据预处理结果,当为单页面网络资源获取模式时,用户可以准确的选择单页面网络资源获取模式,直接对起始页面源码信息进行解析处理,根据目标网络资源类型对起始页面源码信息进行匹配,批量请求分析得到多个目标网络资源的下载地址,保存至地址队列中,方便后续批量下载。单页面网络资源获取模式的起始页面可以如图4所示,直接展示了目标网络资源的下载链接,可以直接从起始页面下载目标网络资源。
当用户根据预分析处理结果,选择二级页面网络资源获取模式时,对起始页面源码信息进行解析处理,分析其中包含目标网络资源的二级页面地址的元素,从而提取得到二级页面地址集合;二级页面地址集合包含至少一个二级页面地址。针对二级页面地址集合中的任一二级页面地址,对该二级页面地址进行模拟页面请求,得到二级页面源码信息。解析二级页面源码信息,从中获取目标网络资源的下载地址,保存至地址队列中。重复以上操作,直至对二级页面地址集合中所有的二级页面地址均进行处理,获取到的多个目标网络资源的下载地址均保存至地址队列中,方便后续对其批量下载。二级页面网络资源获取模式中起始页面如图5a所示,在浏览器控制台可以看得到起始页面源码信息中包含二级页面地址,用户从起始页面点击具体的集数跳转至二级页面,如图5b所示,从二级页面中才可以得到实际的目标网络资源。
以上单页面网络资源获取模式和二级页面网络资源获取模式两种模式,可以提供给用户自动快捷地目标网络资源下载,无需用户手动操作一一下载,更方便灵活,且处理时不受现有下载工具的各种下载限制。不同模式可以应对不同页面的不同的网络资源,灵活组合,实现不同模式下的目标网络资源下载。进一步,图3的交互设计架构支持界面,方便用户输入起始页面地址,辅助用户进行模式分析,可以提供给用户交互式的操作体验,用户可视化处理目标网络资源的下载。
步骤S202,根据用户选择的二级页面外部动态网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合。
当用户根据预分析处理结果,选择二级页面外部动态网络资源获取模式时,即二级页面中包含动态的外部网络资源,在二级页面也无法直接获取到目标网络资源的下载地址时,则在对起始页面源码信息进行解析处理的基础上,从中提取二级页面地址集合。二级页面地址集合包含至少一个二级页面地址。
提取时,可以预设设置二级页面的提取规则,如通过对起始页面局部某部分网络资源的访问页面进行真实请求,借助查看浏览器控制台确定目标网络资源地址的具体信息,根据目标网络资源地址为依据得出提取地址规则,利用提取地址规则提取得到二级页面地址,所有的二级页面地址组成二级页面地址集合。
步骤S203,启动代理服务,创建浏览器代理依次请求二级页面地址集合中的二级页面地址,加载对应的二级页面。
启动代理服务时,通过启动Browsermob-Proxy服务,在该服务下创建如chrome浏览器代理,加载chrome浏览器驱动并进行配置,以指定代理服务器为之前所创建的Browsermob-Proxy代理服务。基于配置的浏览器代理来驱动请求,依次请求二级页面地址集合中的二级页面地址,来加载对应的二级页面。
在加载二级页面时,根据二级页面地址中的如字符串信息,提取出提取网络资源可视化名称。由于请求到的目标网络资源在远程网站上的名称往往经过网站加密重命名等操作,用户无法直接根据加密重命名后的名称确定目标网络资源,提取可视化目标网络资源名称方便下载目标网络资源后,用户清楚的知道下载的目标网络资源名称,对其进行归类、排序等处理。
步骤S204,利用代理服务的har参数获取页面请求中的信息实体,对信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中。
浏览器代理驱动请求加载二级页面后,为确保二级页面的相关资源均被加载,可以预设流量加载结束监控时间参数,保障在二级页面的相关资源都完成加载之后获取到信息实体的准确性和完整性。流量加载结束监控时间参数根据具体实施情况设置,此处不做限定。当二级页面相关资源加载结束后,利用Browsermob-Proxy代理api中的har参数嗅探出二级页面请求中的network信息实体。信息实体包含至少一个网络资源的下载地址。
信息实体中包含已完成请求的网页资源url路径列表,其中包含网络资源的下载地址,还需要对其进一步进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中。筛选处理时,从url路径列表的各个url解析出网络资源类型,将其与目标网络资源类型进行匹配,如视频类型,与.mp4、.m4a、.ts、.m3u8等文件类型匹配,确定目标网络资源的下载地址;或者,将目标网络资源类型与url前缀归类结合,基于网络资源的路径前缀相同时,具有相同的目标网络资源类型,对url进行筛选,筛选相同前缀url,得到目标网络资源的下载地址等。将得到的目标网络资源的下载地址加入到地址队列中,以便批量下载。
在对一个二级页面进行处理,获取到目标网络资源的下载地址后,重复上述步骤S203-S204,直至遍历完成二级页面地址集合中全部的二级页面地址。
步骤S205,根据地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
在下载目标网络资源时,建立网络资源下载异步线程,依次获取地址队列中包含的目标网络资源的下载地址,通过request请求方式由异步线程下载对应的目标网络资源。在完成一个目标网络资源的下载后,循环以上操作,从地址队列中获取下一个目标网络资源的下载地址进行下载。
进一步,在异步线程从地址队列获取目标网络的下载地址时,地址队列为空,但此时并不能直接判定目标网络资源已经完全下载完成。考虑到地址队列中下载地址是从二级页面中通过对信息实体的筛选得到的,这一过程本身会受网络延迟和波动的影响,与异步线程在下载时不同步,出现异步线程已经下载完地址队列中已有的下载地址对应的全部目标网络资源,下一次获取时发现地址队列已经为空,但实际情况是由于二级页面的筛选过程因网络故障受到阻塞,还有部分目标网络资源的下载地址为获取到,或将在后续的某个时刻陆续得到存在地址队列中。因此,本实施例在判断是否下载完成时,设置超时机制,判断当地址队列为空且异步线程等待时间超过预设超时阈值,才确定目标网络资源下载完成。优选地,预设超时阈值为2分钟,以保障目标网络资源可以被全部加载,且当超过2分钟时,没有新的目标网络资源的下载地址保存至地址队列,其一般为已经获取所有目标网络资源的下载地址,或者,二级页面的网络访问出现临时性或者永久性的网络故障,且短期内无法恢复,则无需继续等待。
进一步,还可以通过下载的目标网络资源数量与二级页面数量之间的数量关系,进一步判断是否下载完成。如判断目标网络资源数量与二级页面数量之间是否为相等关系或者倍数关系。如目标网络资源数量与二级页面数量相等,或者,当一个二级页面包含多个目标网络资源,目标网络资源数量与二级页面数量为倍数关系。通过数量关系判断,也可以进一步判断是否下载完成。
根据本发明提供的网络资源获取方法,能够批量处理未在起始页面包含的目标网络资源,且下载时,无需如现有下载工具需满足目标网络资源名称、下载地址命名规则的限制,下载更灵活。
图6示出了根据本发明一个实施例的网络资源获取装置的功能框图。如图6所示,网络资源获取装置包括如下模块:
获取模块610,适于获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;
提取模块620,适于根据用户选择的二级页面外部动态网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合;二级页面地址集合包含至少一个二级页面地址;
地址解析模块630,适于启动代理服务,创建浏览器代理依次请求二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;信息实体包含至少一个网络资源的下载地址;对信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历二级页面地址集合中全部的二级页面地址;
下载模块640,适于根据地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
可选地,装置还包括:预分析模块650,适于根据用户输入的目标网络资源类型,对起始页面源码信息进行预分析处理,判断起始页面源码信息中是否包含与目标网络资源类型匹配的目标网络资源;若是,则确定目标网络资源的获取模式为单页面网络资源获取模式。
可选地,目标网络资源的获取模式为单页面网络资源获取模式;装置还包括:单页面解析模块660,适于对起始页面源码信息进行解析处理,得到多个目标网络资源的下载地址,并保存至地址队列中。
可选地,装置还包括:二级页面解析模块670,适于根据用户选择的二级页面网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合;针对二级页面地址集合中的任一二级页面地址,对该二级页面地址进行模拟页面请求,得到二级页面源码信息;解析二级页面源码信息,获取目标网络资源的下载地址,保存至地址队列中。
可选地,装置还包括:名称提取模块680,适于从加载的二级页面地址中提取网络资源可视化名称。
可选地,下载模块640进一步适于:建立网络资源下载异步线程;依次获取地址队列中包含的目标网络资源的下载地址,由异步线程下载对应的目标网络资源。
可选地,下载模块640进一步适于:判断当地址队列为空且异步线程等待时间超过预设超时阈值,则确定目标网络资源下载完成。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的网络资源获取方法。
图7示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述网络资源获取方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行上述任意方法实施例中的网络资源获取方法。程序710中各步骤的具体实现可以参见上述网络资源获取实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网络资源获取装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (9)
1.一种网络资源获取方法,其特征在于,方法包括:
获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;
根据用户选择的二级页面外部动态网络资源获取模式,对所述起始页面源码信息进行解析处理,提取二级页面地址集合;所述二级页面地址集合包含至少一个二级页面地址;启动代理服务,创建浏览器代理依次请求所述二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;所述信息实体包含至少一个网络资源的下载地址;对所述信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历所述二级页面地址集合中全部的二级页面地址;
根据用户选择的二级页面网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合;针对所述二级页面地址集合中的任一二级页面地址,对该二级页面地址进行模拟页面请求,得到二级页面源码信息;解析所述二级页面源码信息,获取目标网络资源的下载地址,保存至地址队列中;
根据所述地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
2.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息之后,所述方法还包括:
根据用户输入的目标网络资源类型,对所述起始页面源码信息进行预分析处理,判断所述起始页面源码信息中是否包含与目标网络资源类型匹配的目标网络资源;
若是,则确定目标网络资源的获取模式为单页面网络资源获取模式。
3.根据权利要求2所述的方法,其特征在于,所述目标网络资源的获取模式为单页面网络资源获取模式;
所述方法还包括:
对所述起始页面源码信息进行解析处理,得到多个目标网络资源的下载地址,并保存至地址队列中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从加载的二级页面地址中提取网络资源可视化名称。
5.根据权利要求1所述的方法,其特征在于,所述根据所述地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源进一步包括:
建立网络资源下载异步线程;
依次获取地址队列中包含的目标网络资源的下载地址,由所述异步线程下载对应的目标网络资源。
6.根据权利要求5所述的方法,其特征在于,所述根据所述地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源进一步包括:
判断当所述地址队列为空且所述异步线程等待时间超过预设超时阈值,则确定目标网络资源下载完成。
7.一种网络资源获取装置,其特征在于,装置包括:
获取模块,适于获取用户输入的起始页面地址,对起始页面进行页面请求,得到对应的起始页面源码信息;
提取模块,适于根据用户选择的二级页面外部动态网络资源获取模式,对所述起始页面源码信息进行解析处理,提取二级页面地址集合;所述二级页面地址集合包含至少一个二级页面地址;
地址解析模块,适于启动代理服务,创建浏览器代理依次请求所述二级页面地址集合中的二级页面地址,加载对应的二级页面;利用代理服务的har参数获取页面请求中的信息实体;所述信息实体包含至少一个网络资源的下载地址;对所述信息实体进行筛选处理,确实目标网络资源的下载地址,保存至地址队列中;重复上述操作,直至遍历所述二级页面地址集合中全部的二级页面地址;
二级页面解析模块,适于根据用户选择的二级页面网络资源获取模式,对起始页面源码信息进行解析处理,提取二级页面地址集合;针对二级页面地址集合中的任一二级页面地址,对该二级页面地址进行模拟页面请求,得到二级页面源码信息;解析二级页面源码信息,获取目标网络资源的下载地址,保存至地址队列中;
下载模块,适于根据所述地址队列包含的目标网络资源的下载地址,下载对应的目标网络资源。
8.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的网络资源获取方法对应的操作。
9.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的网络资源获取方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714037.0A CN113343152B (zh) | 2021-06-25 | 2021-06-25 | 网络资源获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110714037.0A CN113343152B (zh) | 2021-06-25 | 2021-06-25 | 网络资源获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113343152A CN113343152A (zh) | 2021-09-03 |
CN113343152B true CN113343152B (zh) | 2023-08-15 |
Family
ID=77478903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110714037.0A Active CN113343152B (zh) | 2021-06-25 | 2021-06-25 | 网络资源获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343152B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931635A (zh) * | 2009-06-18 | 2010-12-29 | 北京搜狗科技发展有限公司 | 网络资源访问方法及代理装置 |
WO2013060210A1 (zh) * | 2011-10-26 | 2013-05-02 | 腾讯科技(深圳)有限公司 | 网络资源下载信息的分享控制系统和方法 |
WO2015196954A1 (zh) * | 2014-06-24 | 2015-12-30 | 北京奇虎科技有限公司 | 网页元素的显示方法以及浏览器装置 |
WO2016058489A1 (zh) * | 2014-10-17 | 2016-04-21 | 阿里巴巴集团控股有限公司 | 一种用于提供访问页面的方法与设备 |
CN106970962A (zh) * | 2017-03-21 | 2017-07-21 | 国家计算机网络与信息安全管理中心 | 一种获取搜索引擎搜索结果的方法和装置 |
CN107145490A (zh) * | 2016-03-01 | 2017-09-08 | 腾讯科技(深圳)有限公司 | 网页加载展示方法及网页加载展示装置 |
CN110020278A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 页面数据的展示、提供方法、客户端及服务器 |
CN110287432A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN111177519A (zh) * | 2019-12-30 | 2020-05-19 | 广州市百果园网络科技有限公司 | 网页内容获取方法、装置、存储介质及设备 |
CN112035723A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 资源库的确定方法和装置、存储介质及电子装置 |
CN112612977A (zh) * | 2020-12-15 | 2021-04-06 | 京东数字科技控股股份有限公司 | 一种页面显示方法、系统、装置、设备及存储介质 |
-
2021
- 2021-06-25 CN CN202110714037.0A patent/CN113343152B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931635A (zh) * | 2009-06-18 | 2010-12-29 | 北京搜狗科技发展有限公司 | 网络资源访问方法及代理装置 |
WO2013060210A1 (zh) * | 2011-10-26 | 2013-05-02 | 腾讯科技(深圳)有限公司 | 网络资源下载信息的分享控制系统和方法 |
WO2015196954A1 (zh) * | 2014-06-24 | 2015-12-30 | 北京奇虎科技有限公司 | 网页元素的显示方法以及浏览器装置 |
WO2016058489A1 (zh) * | 2014-10-17 | 2016-04-21 | 阿里巴巴集团控股有限公司 | 一种用于提供访问页面的方法与设备 |
CN107145490A (zh) * | 2016-03-01 | 2017-09-08 | 腾讯科技(深圳)有限公司 | 网页加载展示方法及网页加载展示装置 |
CN106970962A (zh) * | 2017-03-21 | 2017-07-21 | 国家计算机网络与信息安全管理中心 | 一种获取搜索引擎搜索结果的方法和装置 |
CN110020278A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 页面数据的展示、提供方法、客户端及服务器 |
CN110287432A (zh) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | 网络信息处理方法、装置和电子设备 |
CN111177519A (zh) * | 2019-12-30 | 2020-05-19 | 广州市百果园网络科技有限公司 | 网页内容获取方法、装置、存储介质及设备 |
CN112035723A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 资源库的确定方法和装置、存储介质及电子装置 |
CN112612977A (zh) * | 2020-12-15 | 2021-04-06 | 京东数字科技控股股份有限公司 | 一种页面显示方法、系统、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113343152A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
US7287067B2 (en) | Dynamically configuring a server computer | |
US6892231B2 (en) | Method and apparatus for verifying the contents of a global configuration file | |
CN104348919B (zh) | 进行文件下载的方法、装置和浏览器 | |
CN109033195A (zh) | 网页信息的获取方法、获取设备及计算机可读介质 | |
CN111432045A (zh) | 一种域名系统服务器调度算法的测试方法、装置及设备 | |
CN107766224B (zh) | 测试方法和测试装置 | |
CN110889073A (zh) | 页面请求的响应方法、服务器及计算机存储介质 | |
CN110990732A (zh) | 基于网页的加载方法、装置、设备及存储介质 | |
CN113343152B (zh) | 网络资源获取方法及装置 | |
CN111291288B (zh) | 网页链接抽取方法及系统 | |
CN111367519B (zh) | 页面零件化使用方法、装置、计算设备及计算机存储介质 | |
CN113806647A (zh) | 识别开发框架的方法及相关设备 | |
CN113656549B (zh) | 电子书的内容搜索方法、电子设备及计算机存储介质 | |
CN110990701A (zh) | 书籍搜索方法、计算设备及计算机存储介质 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN110825976B (zh) | 网站页面的检测方法、装置、电子设备及介质 | |
US20130316320A1 (en) | Contextual Just in Time Learning System and Method | |
CN110209959B (zh) | 信息处理方法和装置 | |
CN113779403A (zh) | 书籍资讯的获取方法、展示方法、服务端以及用户终端 | |
CN113010812B (zh) | 信息采集方法、装置、电子设备和存储介质 | |
CN114430402B (zh) | 网络域名流量调度方法、装置及计算设备 | |
CN113946774B (zh) | 书籍网页的跳转方法、计算设备及计算机存储介质 | |
CN113139146B (zh) | 网站质量评估方法、装置及计算设备 | |
CN110661678B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |