js提取指定网站内容( 一种网络动态数据抓取方法及系统的实现要素-本发明网络)
优采云 发布时间: 2022-03-29 23:29js提取指定网站内容(
一种网络动态数据抓取方法及系统的实现要素-本发明网络)
本发明涉及网络数据采集技术领域,具体涉及一种网络动态数据采集方法及系统。
背景技术:
随着信息时代的到来,互联网蕴含着丰富的开放数据资源,各种学术、教育、商品等信息遍布各个网络平台。出于安全性、及时性和快速性的考虑,大部分互联网数据都是通过Web动态加载技术呈现给用户的。同时,对于一些重要的资源,用户需要登录后才能访问,这就造成了互联网数据的抓取。采取变得更加困难。
传统的互联网数据爬取基本是基于指定URL的静态html内容,通过爬虫工具下载数据内容,解析提取数据。通过URL解析网页的方法只能获取给定的数据,无法通过用户之间的交互达到过滤的目的。同时,对于通过js和ajax技术动态加载的html内容,传统的数据抓取系统是没有办法的。因此,对于此类数据的抓取,可以考虑操作浏览器,模拟人工登录、点击等操作,实现互联网数据的动态加载和渲染,保证数据的完整性。
本发明设计了一种对动态加载的互联网数据进行筛选和爬取的方法和实现系统。首先启动浏览器,模拟页面输入、点击、跳转等操作,然后使用设计的方法自动过滤、抓取互联网动态数据,并分类保存。通过实践,该方法和系统能够高效、准确地捕获动态加载的互联网数据,大大提高了互联网动态数据捕获的效率和准确性。
技术实施要素:
本发明的目的是在现有技术的背景下,提出一种高效的互联网动态数据自动筛选抓取方法及系统。方法设计和系统实现主要针对动态加载的互联网数据的自动筛选和爬取。首先启动浏览器,模拟页面输入、点击、跳转等操作,通过设计方法自动过滤、抓取互联网动态数据,并分类保存。该方法和系统能够高效、准确地捕获动态加载的互联网数据,大大提高了互联网数据动态数据捕获的效率和准确性。
本发明的技术方案是:一种高效的互联网动态数据自动筛选和抓取方法。首先启动浏览器,模拟页面的输入、点击、跳转等操作,采用设计方法自动筛选和抓取互联网动态数据。,并分类保存;其中,互联网动态数据的自动筛选方法包括以下步骤:
Step 1:定位到某个数据,加载切换数据所依赖的主元素列表,开始遍历各个主元素;
第二步:查找并定位到主元素下的所有子元素的列表,开始遍历每个子元素,获取选中的子元素所属的主元素的名称;
第三步:重复第二步,直到所有主元素都没有子元素;
Step 4:根据上述动态模拟筛选数据的主子元素,开始自动抓取动态加载的互联网数据;
步骤5:重复步骤1到4,直到所有的主元素和子元素都被一一遍历筛选。
自动抓取互联网动态数据的方法包括以下步骤:
Step 1:找到当前数据区加载的所有数据元素的列表,开始遍历定位每个数据元素;
第二步:获取数据元素的编号信息,结合记录所属的主元素和子元素,创建一个本地文件夹,用于存储数据元素的内容;
第三步:在当前数据元素中找到图片元素,并将图片数据保存到本地对应文件夹中;
第四步:将当前数据元素源代码中的图片元素替换为文本标签,并将替换后的文本数据保存到本地对应文件夹中;
步骤5:循环重复步骤2到4,直到当前数据区的所有数据都被捕获;
步骤6:判断当前数据区的页面导航元素是否有下一页的内容,如果有,重复步骤1~5;否则,结束。
本发明公开了一种高效的互联网动态数据采集系统,包括:系统初始化服务模块、网站模拟登录模块、动态数据自动筛选模块、动态数据自动采集模块。
系统初始化服务模块用于初始化系统操作的全局变量,包括数据存储根目录、浏览器模拟操作驱动对象、浏览器页面加载超时时间、加载数据列表信息;
网站模拟登录模块用于启动浏览器,打开网站主页模拟登录;
动态数据自动筛选模块,利用动态数据自动筛选的方式,对各个数据进行快速筛选和切换;
动态数据自动抓取模块利用动态数据自动抓取的方法,将数据自动分类下载到本地。
有益效果:本发明设计了一种用于动态加载互联网数据采集的方法并实现了系统。本发明的方法和系统能够高效、准确地抓取动态加载的互联网数据,大大提高了互联网动态数据抓取的效率和准确性。
图纸说明
无花果。附图说明图1为本发明实施例的动态主体数据自动筛选方法的流程*敏*感*词*。
无花果。图2为本发明实施例提供的一种动态主体的数据自动抓取方法的流程*敏*感*词*。
无花果。图3为本发明数据抓取系统的结构*敏*感*词*,以动态主体为例。
详细说明
下面结合附图,以互联网上的动态主体数据为例,对本发明作进一步的详细说明。
参见图1,本发明实施例提供的动态主体数据自动筛选方法的流程,具体步骤为:
Step 11:找到定位主题所属的等级信息元素,获取所有等级元素的列表信息,开始遍历各个等级元素,模拟选择等级元素按钮,等待页面数据加载完毕。
Step 12:找到年级对应的课程总章元素,模拟点击所有未展开的总章元素,等待页面加载。获取所有子章元素,开始遍历每个子章元素,模拟选择每个子章,等待页面加载,获取并记录选中的子章所属的总章名。
Step 13:找到章节对应的所有主题类型,开始遍历每个主题类型的元素,模拟点击每个主题类型,等待页面加载,记录被点击的主题类型名称。
第十四步:根据上面动态模拟筛选的内容,定位到主题数据区,在当前页面搜索主题数据。如果当前没有主题数据内容,则在第13步直接遍历下一个主题类型;否则,开始捕获主题数据。
步骤15:重复步骤11到14,直到所有年级、所有章节、所有科目类型都被一一遍历筛选。
本发明的所有操作(数据定位、搜索、切换)都需要依赖浏览器,因此必须先启动浏览器(仅启动一次)。但是,自动过滤和数据捕获需要进行页面点击和跳转等操作。
参见图2,为本发明实施例提供的动态主体数据的自动抓取方法流程,具体步骤为:
步骤21:搜索当前数据区中所有主题数据元素的列表,遍历定位每个主题数据元素。
步骤22:定位获取主体数据的序列号信息,作为每个主体的唯一标识。如果无法获取,则将当前时间与 1970 年 1 月 1 日之间的毫秒数作为主题编号。结合记录的成绩、章节和题型,创建一个本地文件夹,用于存放该科目的题型数据/答案数据。格式为/grade/chapter/question type/number/question,/grade/chapter/question type/number/answer。
Step 23:找到话题所在的答案按钮,尝试模拟点击跳转操作(尝试5次),等待弹出话题的答案内容窗口。如果点击跳转失败,则跳转到第21步主题元素的下一步。否则,导航到该主题的答案内容表单以查找是否有图片元素。如果有图片元素,则按照一定的规则对图片元素进行编号,并调用图片下载方法,将图片以编号名称保存到对应的答案目录;图片元素直接进入下一步。
步骤24:定位到问题答案的内容区域,执行js脚本,将区域内源代码上的图片元素替换为文本标签,获取问题答案内容的替换文本数据问题,并将其保存到相应的答案目录。找到并定位主题解表的关闭按钮,模拟点击关闭按钮,返回主题的主题区。
步骤25:与步骤23和步骤24类似,获取主题标题数据,并将主题标题中的图像数据和替换后的主题文本数据保存到问题文件中。
步骤26:循环重复步骤22到25,直到当前主题数据区中的所有主题数据和对应的答案数据都被捕获。
步骤27:判断当前主题数据区的页面导航元素是否有下一页内容,如果有下一页,模拟点击下一页按钮,等待页面加载主题数据,重复步骤21至 26;否则,结束当前主题类型的自动数据采集。
参见图3,本发明实施例提供的数据采集系统的结构包括:
系统初始化服务模块31、主题网站模拟登录模块32、动态主题自动筛选33、动态主题数据自动捕获34.
系统初始化服务模块31包括初始化系统操作的全局变量、数据存储根目录、浏览器模拟操作驱动对象、浏览器页面加载超时时间、加载等级、章节、捕获的主题数据的题型信息等。
项目网站模拟登录模块32,用于启动浏览器,打开项目资料首页,找到登录按钮点击,自动输入用户名密码登录,找到项目目录按钮,跳转到项目页面等。
动态主题数据的自动筛选 33、采用动态主题数据的自动筛选方式,快速筛选和切换到各个主题。
动态主题数据自动抓取34,利用动态主题数据自动抓取方法,将主题主题数据和主题答案数据自动分类下载到本地。
以上所述仅为本发明的一个实施例而已,并不用于限制本发明的专利。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应收录在本发明的保护范围之内。保护范围内。