[发明专利]深度链接获取方法和装置在审
申请号: | 201710007365.0 | 申请日: | 2017-01-05 |
公开(公告)号: | CN106997374A | 公开(公告)日: | 2017-08-01 |
发明(设计)人: | 黄冬 | 申请(专利权)人: | 深圳大宇无限科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 谢曲曲 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 深度 链接 获取 方法 装置 | ||
技术领域
本发明涉及计算机技术,特别是涉及一种深度链接获取方法和装置。
背景技术
随着当今互联网的飞速发展,各种网络信息的内容日益丰富。作为网络信息主要承载形式的万维网被应用了大量复杂技术例如Adobe Flash、Ajax、连接加密等来呈现内容,以提高用户体验和安全性。由于大量内容是网页加载后由JavaScript动态生成的,导致一些深度链接难以抓取和利用。
传统的网络爬虫在抓取网页数据时,只能抓取具有特殊关键字符的数据,但很多网站并不会将所有的内容都直接输出到一个页面中,部分数据需要通过JavaScript处理才能得到,还有些内容可能需要用户触发才会被加载。所以传统的爬虫无法抓取深度链接的网页数据。而目前解决这些限制的一般做法需要运行一套完整的浏览器环境以获取这些动态内容。由于完整的浏览器环境需要较大的资源开销并且速度较慢,会导致深度链接的抓取成本高而且效率低。
发明内容
基于此,有必要针对深度链接抓取成本高、效率低的问题,提供一种开销比较低且效率比较高的深度链接获取方法和装置。
一种深度链接获取方法,所述方法包括:获取目标页面的地址;根据所述目标页面的地址下载所述目标页面并获取适用于所述目标页面的配置文件;根据所述配置文件中的配置规则从所述目标页面中提取与目标深度链接相关的目标数据以及提取解析所述目标数据所需要的函数和变量;根据提取出的所述目标数据、函数和变量获取目标深度链接。
在其中一个实施例中,所述根据提取出的所述目标数据、函数和变量获取目标深度链接的步骤包括:获取所述配置文件中的触发代码;将所述触发代码、解析所述目标数据所述需要的函数和变量进行组合得到组合代码;调用运行引擎运行所述组合代码,根据运行的结果解析所述目标数据得到所述目标深度链接。
在其中一个实施例中,所述根据所述配置文件中的配置规则从所述目标页面中提取与目标深度链接相关的目标数据以及提取解析所述目标数据所需要的函数和变量的步骤包括:根据所述配置文件中预设的字段从所述目标页面中提取与目标深度链接相关的目标数据;根据所述配置文件中预设的正则表达式从所述目标页面中提取解析所述目标数据所需要的第一函数;通过语法分析获取所述第一函数的依赖关系;根据所述依赖关系提取所述第一函数依赖的第二函数和变量;所述根据提取出的所述目标数据、函数和变量获取目标深度链接的步骤包括:根据提取出的所述目标数据、第一函数、第二函数和变量获取目标深度链接。
在其中一个实施例中,根据所述依赖关系提取所述第一函数依赖的第二函数和变量的步骤包括:根据所述依赖关系从所述目标页面的源代码中以及从与所述目标深度链接相关联的外部页面的源代码中获取所述第一函数依赖的第二函数和变量。
在其中一个实施例中,在根据所述依赖关系提取所述第一函数依赖的第二函数和变量的步骤之前还包括:检测缓存内是否存在与所述目标深度链接相关联的外部页面的源代码;若不存在,则获取与所述目标深度链接相关联的外部页面的源代码,将获取到的所述外部页面的源代码存入所述缓存内。
一种深度链接获取装置,所述装置包括:地址获取模块,用于获取目标页面的地址;下载模块,用于根据所述目标页面的地址下载所述目标页面;配置文件获取模块,用于根据所述目标页面的地址获取适用于所述目标页面的配置文件;提取模块,用于根据所述配置文件中的配置规则从所述目标页面中提取与目标深度链接相关的目标数据以及提取解析所述目标数据所需要的函数和变量;深度链接获取模块,用于根据提取出的所述目标数据、函数和变量获取目标深度链接。
在其中一个实施例中,所述深度链接获取模块包括:触发代码获取模块,用于获取所述配置文件中的触发代码;组合模块,用于将所述触发代码、解析所述目标数据的函数和变量进行组合得到组合代码;调用模块,用于调用运行引擎运行所述组合代码,根据运行的结果解析所述目标数据得到所述目标深度链接。
在其中一个实施例中,所述提取模块包括:目标数据提取模块,用于根据所述配置文件中预设的字段从所述目标页面中提取与目标深度链接相关的目标数据;第一函数提取模块,用于根据所述配置文件中预设的正则表达式从所述目标页面中提取解析所述目标数据所需要的第一函数;分析模块,用于通过语法分析获取所述第一函数的依赖关系;第二函数提取模块,用于根据所述依赖关系提取所述第一函数依赖的第二函数和变量;所述深度链接获取模块还用于根据提取出的所述目标数据、第一函数、第二函数和变量获取目标深度链接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大宇无限科技有限公司,未经深圳大宇无限科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710007365.0/2.html,转载请声明来源钻瓜专利网。