基于Python的数据抓取方法、装置、设备及存储介质制造方法及图纸

技术编号:38770131 阅读:11 留言:0更新日期:2023-09-10 10:43
本发明专利技术公开了一种基于Python的数据抓取方法、装置、设备及存储介质。该方法获取目标平台中网页公开的开源代码;利用Python编程语言开发的数据抓取脚本,提取开源代码中的数据字段和页面展示规则,并基于数据字段和页面展示规则构建网页请求发送给目标平台;获取目标平台基于网页请求渲染的页面内容,并利用Python编程语言开发的路径解析脚本,将页面内容转换为树状结构图,其中,树状结构图由不同类型的节点组成;利用Python编程语言开发的数据分析脚本,提取树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据。从而解决现有的数据抓取方案,抓取流程复杂且准确率低的问题。率低的问题。率低的问题。

【技术实现步骤摘要】
基于Python的数据抓取方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种基于Python的数据抓取方法、装置、设备及存储介质。

技术介绍

[0002]网络爬虫是一种自动化程序,能够通过HTTP协议获取互联网上的信息并提取感兴趣的数据。它可以通过模拟浏览器行为发送请求、解析网页内容,并从中提取所需数据。
[0003]而现有的网络爬虫在模拟请求的时候需要把所有的通信流程都分析完成后才能通过请求,然后返回响应结果,中间的通信流程比较复杂。有的网络需要发送大量ajax请求,异步获取数据渲染到页面上,网络爬虫无法对异步请求及时的响应和处理。而且有的网站加入了反爬虫机制,普通的网络爬虫不太适用。

技术实现思路

[0004]本专利技术的主要目的在于解决现有的数据抓取方案,抓取流程复杂且准确率低的问题。
[0005]本专利技术第一方面提供了一种基于Python的数据抓取方法,所述方法包括:从预设的数据抓取目标列表中,确定目标平台,并获取所述目标平台中网页的脚本,其中,所述脚本为所述网页中公开的开源代码;利用Python编程语言开发的数据抓取脚本,提取所述开源代码中的数据字段和页面展示规则,并基于所述数据字段和所述页面展示规则构建网页请求发送给所述目标平台;获取所述目标平台基于所述网页请求渲染的页面内容,并利用Python编程语言开发的路径解析脚本,将所述页面内容转换为树状结构图,其中,所述树状结构图由不同类型的节点组成;利用Python编程语言开发的数据分析脚本,提取所述树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据。
[0006]可选的,在本专利技术第一方面的第一种实现方式中,所述基于所述数据字段和所述页面展示规则构建网页请求发送给所述目标平台,包括:调用浏览器的驱动脚本,基于所述页面展示规则构建所述页面的抓取逻辑代码;基于所述数据字段和所述驱动脚本构建所述开源代码的防御机制;利用Python编程语言开发的数据抓取脚本,执行所述抓取逻辑代码和所述防御机制生成网页请求,并发送给所述目标平台。
[0007]可选的,在本专利技术第一方面的第二种实现方式中,所述数据字段包括:识别和处理验证码、处理动态渲染的页面Selenium配置项和代理IP地址、端口;所述基于所述数据字段和所述驱动脚本构建所述开源代码的解御机制,包括:
识别所述驱动脚本中的代理IP字段和验证函数;基于所述代理IP地址、端口和所述验证函数生成跳转函数;将所述跳转函数替换所述驱动脚本代码中位于代理IP字段和验证函数之间的防伪判断逻辑,得到所述开源代码的解御机制。
[0008]可选的,在本专利技术第一方面的第三种实现方式中,所述利用Python编程语言开发的路径解析脚本,将所述页面内容转换为树状结构图,包括:利用Python编程语言开发的路径解析脚本,提取所述页面内容的逻辑节点,其中所述逻辑节点包括元素节点,属性节点和文本节点中的至少一种;使用路径表达式对所述逻辑节点进行分类遍历,并将同类别的逻辑节点基于父子关系构建路径;对所述路径上的各个节点进行内容提取,并将提取到的内容与节点进行关联后转换为树状结构图。
[0009]可选的,在本专利技术第一方面的第四种实现方式中,Python编程语言开发的数据分析脚本为pandas数据分析工具,所述利用Python编程语言开发的数据分析脚本,提取所述树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据,包括:利用所述pandas数据分析工具提取所述树状结构图中各节点的内容,并对提取到的内容进行预处理后提取不属于用户数据的内容,得到标准化结构的用户数据;查询预设的格式转换库中,与所述目标平台对应的格式转换规则,并基于所述格式转换规则将所述用户数据转换为与预设的任务规则对应的数据存储结构对应的结构数据;将所述结构数据按照路径进行关联整合后,输出至预设的用户数据分析模型中提取关键特征,并基于各路径中的各关键特征生成目标数据。
[0010]可选的,在本专利技术第一方面的第五种实现方式中,在所述按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据之后,还包括:利用深度学习神经网络,基于所述目标数据进行深度挖掘,得到行为数据和偏好数据;利用回归算法、聚类算法和分类算法,对所述行为数据和所述偏好数据依次进行回归、聚类和分类处理,得到所述目标数据的变化趋势;基于所述变化趋势,利用Python编程语言的可视化绘图脚本创建可视化报告,并展示。
[0011]可选的,在本专利技术第一方面的第六种实现方式中,所述基于所述变化趋势,利用Python编程语言的可视化绘图脚本创建可视化报告,并展示包括:使用Python编程语言的文档处理库,基于所述任务规则创建报告模板;将所述变化趋势、所述行为数据和所述偏好数据,依次填充至所述报告模板中对应的区域上,生成最终的报告文档,并基于展示的渲染规则将所述报告文档渲染出网页页面进行展示。
[0012]本专利技术第二方面提供了基于Python的数据抓取装置,其特征在于,所述装置包括:获取模块,用于从预设的数据抓取目标列表中,确定目标平台,并获取所述目标平
台中网页的脚本,其中,所述脚本为所述网页中公开的开源代码;请求模块,用于利用Python编程语言开发的数据抓取脚本,提取所述开源代码中的数据字段和页面展示规则,并基于所述数据字段和所述页面展示规则构建网页请求发送给所述目标平台;数据提取模块,用于获取所述目标平台基于所述网页请求渲染的页面内容,并利用Python编程语言开发的路径解析脚本,将所述页面内容转换为树状结构图,其中,所述树状结构图由不同类型的节点组成;转换模块,用于利用Python编程语言开发的数据分析脚本,提取所述树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据。
[0013]可选的,在本专利技术第二方面的第一种实现方式中,所述请求模块包括:构建单元,用于调用浏览器的驱动脚本,基于所述页面展示规则构建所述页面的抓取逻辑代码;以及基于所述数据字段和所述驱动脚本构建所述开源代码的防御机制;请求单元,用于利用Python编程语言开发的数据抓取脚本,执行所述抓取逻辑代码和所述防御机制生成网页请求,并发送给所述目标平台。
[0014]可选的,在本专利技术第二方面的第二种实现方式中,所述数据字段包括:识别和处理验证码、处理动态渲染的页面Selenium配置项和代理IP地址、端口;所述构建单元具体用于:识别所述驱动脚本中的代理IP字段和验证函数;基于所述代理IP地址、端口和所述验证函数生成跳转函数;将所述跳转函数替换所述驱动脚本代码中位于代理IP字段和验证函数之间的防伪判断逻辑,得到所述开源代码的解御机制。
[0015]可选的,在本专利技术第二方面的第三种实现方式中,所述数据提取模块包括:提取单元,用于利用Python编程语言开发的路径解析脚本,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Python的数据抓取方法,其特征在于,所述方法包括:从预设的数据抓取目标列表中,确定目标平台,并获取所述目标平台中网页的脚本,其中,所述脚本为所述网页中公开的开源代码;利用Python编程语言开发的数据抓取脚本,提取所述开源代码中的数据字段和页面展示规则,并基于所述数据字段和所述页面展示规则构建网页请求发送给所述目标平台;获取所述目标平台基于所述网页请求渲染的页面内容,并利用Python编程语言开发的路径解析脚本,将所述页面内容转换为树状结构图,其中,所述树状结构图由不同类型的节点组成;利用Python编程语言开发的数据分析脚本,提取所述树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据。2.根据权利要求1所述的基于Python的数据抓取方法,其特征在于,所述基于所述数据字段和所述页面展示规则构建网页请求发送给所述目标平台,包括:调用浏览器的驱动脚本,基于所述页面展示规则构建所述页面的抓取逻辑代码;基于所述数据字段和所述驱动脚本构建所述开源代码的防御机制;利用Python编程语言开发的数据抓取脚本,执行所述抓取逻辑代码和所述防御机制生成网页请求,并发送给所述目标平台。3.根据权利要求2所述的基于Python的数据抓取方法,其特征在于,所述数据字段包括:识别和处理验证码、处理动态渲染的页面Selenium配置项和代理IP地址、端口;所述基于所述数据字段和所述驱动脚本构建所述开源代码的解御机制,包括:识别所述驱动脚本中的代理IP字段和验证函数;基于所述代理IP地址、端口和所述验证函数生成跳转函数;将所述跳转函数替换所述驱动脚本代码中位于代理IP字段和验证函数之间的防伪判断逻辑,得到所述开源代码的解御机制。4.根据权利要求1所述的基于Python的数据抓取方法,其特征在于,所述利用Python编程语言开发的路径解析脚本,将所述页面内容转换为树状结构图,包括:利用Python编程语言开发的路径解析脚本,提取所述页面内容的逻辑节点,其中所述逻辑节点包括元素节点,属性节点和文本节点中的至少一种;使用路径表达式对所述逻辑节点进行分类遍历,并将同类别的逻辑节点基于父子关系构建路径;对所述路径上的各个节点进行内容提取,并将提取到的内容与节点进行关联后转换为树状结构图。5.根据权利要求4所述的基于Python的数据抓取方法,其特征在于,Python编程语言开发的数据分析脚本为pandas数据分析工具,所述利用Python编程语言开发的数据分析脚本,提取所述树状结构图中各节点的内容,并按照预设的任务规则对应的数据存储结构,将提取到的各节点的内容进行转换,得到目标数据,包括:利用所述pandas数据分析工具提取所述树状结构图中各节点的内容,并对提取到的内容进行预处理后提取不属于用户数据的内容,得到标准化结构的用户数据;查询预设的格...

【专利技术属性】
技术研发人员:郭健刘星星
申请(专利权)人:深圳传趣网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1