CN105354302B - 一种从Web上自动获取列表数据的方法 - Google Patents
一种从Web上自动获取列表数据的方法 Download PDFInfo
- Publication number
- CN105354302B CN105354302B CN201510746956.0A CN201510746956A CN105354302B CN 105354302 B CN105354302 B CN 105354302B CN 201510746956 A CN201510746956 A CN 201510746956A CN 105354302 B CN105354302 B CN 105354302B
- Authority
- CN
- China
- Prior art keywords
- data
- page
- web
- grabber
- list
- 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/951—Indexing; Web crawling techniques
Abstract
本发明涉及大数据技术领域,具体涉及一种从Web上自动获取列表数据的方法。本发明方法包括:1.对获取的数据来源进行Web分析,包括Html请求URL、分页参数、Web编码、页面Html结构等进行分析;2.通过配置把要获取的数据相关参数(包括任务名称、Html请求、分页参数、Web编码、页面Html结构等)用于获取数据列表并保存到数据库表上;3.通过系统在后台自动判断数据列表是否有更新并自动启动数据列表获取任务并把数据列表保存到指定的数据库上,用于相关的数据分析。本发明解决了要进行特定的大数据分析时没有数据或数据量不足、或数据只存在Web上无法对数据直接使用的问题,本发明可广泛应用于大数据分析的数据获取应用方面。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种从Web上自动获取列表数据的方法。
背景技术
随着大数据概念的发展与普及,越来越多的领域都期望从数据分析上获取价值;但要进行分析的数据不够、或分析数据只存在Web上;比如分析海关网站上公布的各月的进出口统计数据,这些数据海关不会按特定的格式(例如数据表结构)进行发布,只会每月按Web的形式进行公布。这些需要对这些数据进行分析的时候,只能通过手工获取,而且每个月都要获取一次,不仅劳动量大,而且容易出错。一般来说公布在Web上的数据在Html结构上存在相同性,因此可通过一次性的Html解析来循环对数据进行获取,并保存到指定的数据库上用于大数据的分析,从而进行进一步的分析来获取可用的价值信息。类似的对工商局公布的企业信息、股票的交易信息等数据的获取,都可通过此种方法,从而形成本地的数据资料库,并进一步进行数据的分析。
一般通过网上公布的Web数据是通过Html格式进行展示的,并且数据的展示一般是通过动态的数据装载,所以对于网上数据的获取,可通过程序进行获取后保存到特定的数据库。从网上对Web页面的获取,最重要的是对Web进行完整的Html获取并准确地解析。
发明内容
本发明解决的问题在于提供一种从Web上自动获取列表数据的方法,从而为特定领域的大数据分析提供了充分的数据来源,为特定领域的分析提高数据分析的准确性,产生有用的价值。
本发明解决上述技术问题的技术方案是:
所述的方法包括以下步骤:
步骤一,分析获取数据列表的Web页面HTML结构;
步骤二,配置任务名称、Web页面数据列表抓取相关配置并保存;
步骤三,判断是否有新数据;是则进入下一步骤;
步骤四,进行Web页面数据抓取相关配置;
步骤五,通过Web页面的URL后台获取数据抓取页面的整体HTML;
步骤六,获取抓取数据的区域块、进行分行、分列、数据截取;
步骤七,判断数据是否已存在,是则结束,否则进入下一步骤;
步骤八,把数据保存到指定的数据库表上;
步骤九,判断是否有下一页需要抓取;有则返回到步骤四;否则结束;
结束。
所述的步骤二的配置是:
配置数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据列表展示的排序顺序;配置Html结构上的数据列表抓取数据区域块;配置从数据抓取数据列表区域块的分行标识;配置数据抓取区域块的行数据的分列标识;配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表;配置抓取的任务名称,在系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取。
所述的通过配置指定数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据列表展示的排序顺序等参数,用于后台的数据获取;其中数据抓取的Web页面URL用于获取页面Html结构的链接;翻页参数用于处理存在多页请求的情况,或通过自动增加页面数不断获取数据;页面编码用于指定请求时使用的编码,以避免获取的数据产生乱码;页面请求间隔时间用于设置请求的间隔时间,避免产生被服务器屏蔽的情况;数据展示的排序顺序,存在正序与倒序两种情况,对于正序的排序,下一次的数据抓取任务要从上一次的数据抓取最后页面数抓起,对于倒序的排序,下一次的数据抓取任务从第一页开始抓起。
所述的Web页面URL获取了Html数据后,通过系统自动判断存在的数据区域块,并返回给操作人员选择确定数据的抓取区域块,用于后续的行数据获取。
所述的配置从数据抓取数据列表区域块的分行标识,通过截取后的数据抓取区域块,判断整个数据区域块的分行标识,从而实现整个数据块的行数据分隔,用于后续的列数据获取。
所述的配置数据抓取区域块的行数据的分列标识,通过分行后获取的行数据,判断每行数据的分行标识,从而实现每行数据中各列数据的分隔,用于最终的各列数据的抓取。
所述的配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表,对要数据抓取的列数据进行选择,并对各列通过Html形式展示的数据可能存在的其他标识进行去除,同时配置数据抓取保存的数据表,指定各选择的列的数据的保存字段、类型、长度,用于数据的保存。
所述的系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取,是通过以下规则进行判断的:(1)如果系统上不存在数据,则需启动任务进行数据获取,并保存系统的最后获取标识;(2)系统上存在获取的一部分数据,首先判断任务的数据列表是正序显示还是倒序显示;如果数据列表是正序显示,跳转到最后获取数据的页数上并通过MD5所有字段的数据,与系统上已经存在的最后获取数据判断是否存在于系统上,如果不存在需启动任务进行获取;如果数据列表是倒序显示则通过获取第一条数据的所有字段的MD5结果,判断数据列表的第一条数据是否已经存在于系统上,如果不存在需启动任务进行获取;(3)后台判断是否需要更新的周期,可通过系统的自学习进行,一开始是通过半个小时进行判断是否需要数据更新,在后续不断记录需更新数据的时间,从而学习判断各数据抓取任务的抓取时间,从而在平均的时间间隔内启动是否需要判断的时间进行判断。
本发明就是通过技术把Web通过URL获取下来,并进行自动的Html分析并获取期望的数据,并保存到数据库上,用于数据的分析,解决了要进行特定的大数据分析时没有数据或数据量不足、或数据只存在Web上无法对数据直接使用的问题,从而为特定领域的大数据分析提供了充分的数据来源,提高了数据分析的准确性。本发明可多配置不同的数据抓取任务,轻松快捷实现多种数据的抓取任务,为不同的数据分析提供了强大的支持。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明系统流程图。
具体实施方式
如图1所示,本发明具体包含以下几个步骤:
步骤一、把系统部署在Tomcat上,配置好Mysql数据库,运行整个系统;
步骤二、对要进行抓取的数据获取Web页面的RUL,并分析存在相似结构的Html数据;
步骤三、新增网上数据抓取任务,配置任务名称等信息;
步骤四、配置数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据展示的排序顺序;
步骤五、配置Html结构上的数据抓取数据区域块;
步骤六、配置从数据抓取数据区域块的分行标识;
步骤七、配置数据抓取区域块的行数据的分列标识;
步骤八、配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表;
步骤九、对以前配置的任务相关参数进行测试验证,验证通过了把所有的配置信息保存到系统上。
步骤十、后台程序通过判断数据列表是否有更新,有更新时启动后台数据列表抓取任务,从而实现数据的自动抓取。
具体而言,配置数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据列表展示的排序顺序;配置Html结构上的数据列表抓取数据区域块;配置从数据抓取数据列表区域块的分行标识;配置数据抓取区域块的行数据的分列标识;配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表;配置抓取的任务名称,在系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取。
所述的通过配置指定数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据列表展示的排序顺序等参数,用于后台的数据获取;其中数据抓取的Web页面URL用于获取页面Html结构的链接;翻页参数用于处理存在多页请求的情况,或通过自动增加页面数不断获取数据;页面编码用于指定请求时使用的编码,以避免获取的数据产生乱码;页面请求间隔时间用于设置请求的间隔时间,避免产生被服务器屏蔽的情况;数据展示的排序顺序,存在正序与倒序两种情况,对于正序的排序,下一次的数据抓取任务要从上一次的数据抓取最后页面数抓起,对于倒序的排序,下一次的数据抓取任务从第一页开始抓起。
所述的Web页面URL获取了Html数据后,通过系统自动判断存在的数据区域块,并返回给操作人员选择确定数据的抓取区域块,用于后续的行数据获取。
所述的配置从数据抓取数据列表区域块的分行标识,通过截取后的数据抓取区域块,判断整个数据区域块的分行标识,从而实现整个数据块的行数据分隔,用于后续的列数据获取。
所述的配置数据抓取区域块的行数据的分列标识,通过分行后获取的行数据,判断每行数据的分行标识,从而实现每行数据中各列数据的分隔,用于最终的各列数据的抓取。
所述的配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表,对要数据抓取的列数据进行选择,并对各列通过Html形式展示的数据可能存在的其他标识进行去除,同时配置数据抓取保存的数据表,指定各选择的列的数据的保存字段、类型、长度,用于数据的保存。
所述的系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取,是通过以下规则进行判断的:(1)如果系统上不存在数据,则需启动任务进行数据获取,并保存系统的最后获取标识;(2)系统上存在获取的一部分数据,首先判断任务的数据列表是正序显示还是倒序显示;如果数据列表是正序显示,跳转到最后获取数据的页数上并通过MD5所有字段的数据,与系统上已经存在的最后获取数据判断是否存在于系统上,如果不存在需启动任务进行获取;如果数据列表是倒序显示则通过获取第一条数据的所有字段的MD5结果,判断数据列表的第一条数据是否已经存在于系统上,如果不存在需启动任务进行获取;(3)后台判断是否需要更新的周期,可通过系统的自学习进行,一开始是通过半个小时进行判断是否需要数据更新,在后续不断记录需更新数据的时间,从而学习判断各数据抓取任务的抓取时间,从而在平均的时间间隔内启动是否需要判断的时间进行判断。
Claims (7)
1.一种从Web上自动获取列表数据的方法,其特征在于:所述的方法包括以下步骤:
步骤一,分析获取数据列表的Web页面HTML结构;
步骤二,配置任务名称、Web页面数据列表抓取相关配置并保存;
步骤三,判断是否有新数据;是则进入下一步骤;
步骤四,进行Web页面数据抓取相关配置;
步骤五,通过Web页面的URL后台获取数据抓取页面的整体HTML;
步骤六,获取抓取数据的区域块、进行分行、分列、数据截取;
步骤七,判断数据是否已存在,是则结束,否则进入下一步骤;
步骤八,把数据保存到指定的数据库表上;
步骤九,判断是否有下一页需要抓取;有则返回到步骤四;否则结束;
由系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取,是通过以下规则进行判断的:(1)如果系统上不存在数据,则需启动任务进行数据获取,并保存系统的最后获取标识;(2)系统上存在获取的一部分数据,首先判断任务的数据列表是正序显示还是倒序显示;如果数据列表是正序显示,跳转到最后获取数据的页数上并通过MD5所有字段的数据,与系统上已经存在的最后获取数据判断是否存在于系统上,如果不存在需启动任务进行获取;如果数据列表是倒序显示则通过获取第一条数据的所有字段的MD5结果,判断数据列表的第一条数据是否已经存在于系统上,如果不存在需启动任务进行获取;(3)后台判断是否需要更新的周期,可通过系统的自学习进行,一开始是通过半个小时进行判断是否需要数据更新,在后续不断记录需更新数据的时间,从而学习判断各数据抓取任务的抓取时间,从而在平均的时间间隔内启动是否需要判断的时间进行判断。
2.根据权利要求1所述的从Web上自动获取列表数据的方法,其特征在于:所述的步骤二的配置是:
配置数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间、数据列表展示的排序顺序;配置Html结构上的数据列表抓取数据区域块;配置从数据抓取数据列表区域块的分行标识;配置数据抓取区域块的行数据的分列标识;配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表;配置抓取的任务名称,在系统在后台通过判断是否有更新的数据,启动任务运行实现数据的自动抓取。
3.根据权利要求2所述的从Web上自动获取列表数据的方法,其特征在于:所述的通过配置指定数据抓取的Web页面URL、翻页参数、页面编码、页面请求间隔时间或数据列表展示的排序顺序参数,用于后台的数据获取;其中数据抓取的Web页面URL用于获取页面Html结构的链接;翻页参数用于处理存在多页请求的情况,或通过自动增加页面数不断获取数据;页面编码用于指定请求时使用的编码,以避免获取的数据产生乱码;页面请求间隔时间用于设置请求的间隔时间,避免产生被服务器屏蔽的情况;数据展示的排序顺序,存在正序与倒序两种情况,对于正序的排序,下一次的数据抓取任务要从上一次的数据抓取最后页面数抓起,对于倒序的排序,下一次的数据抓取任务从第一页开始抓起。
4.根据权利要求2所述的从Web上自动获取列表数据的方法,其特征在于:所述的Web页面URL获取了Html数据后,通过系统自动判断存在的数据区域块,并返回给操作人员选择确定数据的抓取区域块,用于后续的行数据获取。
5.根据权利要求2所述的从Web上自动获取列表数据的方法,其特征在于:所述的配置从数据抓取数据列表区域块的分行标识,通过截取后的数据抓取区域块,判断整个数据区域块的分行标识,从而实现整个数据块的行数据分隔,用于后续的列数据获取。
6.根据权利要求2所述的从Web上自动获取列表数据的方法,其特征在于:所述的配置数据抓取区域块的行数据的分列标识,通过分行后获取的行数据,判断每行数据的分行标识,从而实现每行数据中各列数据的分隔,用于最终的各列数据的抓取。
7.根据权利要求2所述的从Web上自动获取列表数据的方法,其特征在于:所述的配置数据抓取的列数据的截取值、数据保存字段名称、类型、长度,数据保存的数据库表,对要数据抓取的列数据进行选择,并对各列通过Html形式展示的数据可能存在的其他标识进行去除,同时配置数据抓取保存的数据表,指定各选择的列的数据的保存字段、类型、长度,用于数据的保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510746956.0A CN105354302B (zh) | 2015-11-04 | 2015-11-04 | 一种从Web上自动获取列表数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510746956.0A CN105354302B (zh) | 2015-11-04 | 2015-11-04 | 一种从Web上自动获取列表数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354302A CN105354302A (zh) | 2016-02-24 |
CN105354302B true CN105354302B (zh) | 2019-03-22 |
Family
ID=55330274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510746956.0A Active CN105354302B (zh) | 2015-11-04 | 2015-11-04 | 一种从Web上自动获取列表数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354302B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908078A (zh) * | 2010-08-30 | 2010-12-08 | 深圳市五巨科技有限公司 | 一种将网页数据导入excel表格的方法和装置 |
CN102902792A (zh) * | 2012-09-29 | 2013-01-30 | 北京奇虎科技有限公司 | 列表页识别系统及方法 |
CN103870441A (zh) * | 2012-12-14 | 2014-06-18 | 苏州精易会信息技术有限公司 | 一种将网页Table数据转换成Excel的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014149613A (ja) * | 2013-01-31 | 2014-08-21 | Toshiba Corp | 項目間関連解析装置 |
-
2015
- 2015-11-04 CN CN201510746956.0A patent/CN105354302B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908078A (zh) * | 2010-08-30 | 2010-12-08 | 深圳市五巨科技有限公司 | 一种将网页数据导入excel表格的方法和装置 |
CN102902792A (zh) * | 2012-09-29 | 2013-01-30 | 北京奇虎科技有限公司 | 列表页识别系统及方法 |
CN103870441A (zh) * | 2012-12-14 | 2014-06-18 | 苏州精易会信息技术有限公司 | 一种将网页Table数据转换成Excel的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105354302A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110292775B (zh) | 获取差异数据的方法及装置 | |
CN104537070B (zh) | 挖掘旅游目的地景点的方法和设备 | |
CN107885777A (zh) | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 | |
CN105117205B (zh) | 一种网页编辑方法和装置 | |
CN109088908A (zh) | 一种面向网络的分布式通用数据采集方法和系统 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN108090228B (zh) | 一种通过文化云平台进行互动的方法及装置 | |
CN104317857B (zh) | 一种房屋信息采集服务系统 | |
CN108804472A (zh) | 一种网页内容抽取方法、装置及服务器 | |
CN103678510B (zh) | 对网页提供可视化标注的方法及装置 | |
CN108052358A (zh) | 一种分布式部署的系统和方法 | |
CN103870504B (zh) | 一种网页的发布方法和系统 | |
CN110519263A (zh) | 防刷量方法、装置、设备及计算机可读存储介质 | |
CN109408763A (zh) | 一种对不同模板的简历进行管理的方法及系统 | |
CN106407119A (zh) | 一种基于自动化测试的浏览器兼容性测试方法 | |
CN105354302B (zh) | 一种从Web上自动获取列表数据的方法 | |
US8051110B2 (en) | Identifying screen flows to support multiple entities and their diverse rules with a single application instance | |
CN105183843B (zh) | 列表页识别系统及方法 | |
EP2713287A1 (en) | Network comment collection method and system | |
EP2469463A1 (en) | A method and a system for analysing traffic on a website by means of path analysis | |
CN109145233A (zh) | 互联网信息采集系统 | |
CN106681892B (zh) | 页面数据的处理方法和装置 | |
CN104050273B (zh) | 用于记录最新的网络文件、用于修改搜索结果的装置方法 | |
JP5294885B2 (ja) | サービス中継装置、サービス中継方法、この方法を実行するためのプログラム | |
CN107545009B (zh) | 一种确定网页中组件的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-Cloud Technology Co., Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-Cloud Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |