CN105447184B - 信息抓取方法及装置 - Google Patents
信息抓取方法及装置 Download PDFInfo
- Publication number
- CN105447184B CN105447184B CN201510938034.XA CN201510938034A CN105447184B CN 105447184 B CN105447184 B CN 105447184B CN 201510938034 A CN201510938034 A CN 201510938034A CN 105447184 B CN105447184 B CN 105447184B
- Authority
- CN
- China
- Prior art keywords
- database
- crawl
- page
- details
- data
- 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
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种信息抓取方法及装置。统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的所述详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式。实现了信息抓取的实时性、高效性以及智能性。
Description
技术领域
本发明实施例涉及信息技术领域,尤其涉及一种信息抓取方法及装置。
背景技术
信息抓取是一个将非结构化的信息从网站中抓取出来保存到结构化的数据库中的过程。信息抓取是企业信息化的根基和第一步,只有利用先进的技术作好了信息抓取工作,才能为信息化带来最大的价值。
信息抓取主要应用在以下几个方面:关键信息抓取:获取各种因特网上各种各样的专业信息数据库;竞争情报系统:通过关键字监视网络媒体上自己与竞争对手的市场信息;企业内容管理:批量精确地获取外部内容,并自动化处理;数据库营销:抽取留言本,论坛,新闻组上面目标潜在用户的留言信息与联系信息;企业整合门户:在EIP中嵌入外部网站的实时内容;比较系统:商品价格比较系统;网络信息集成:从多个同类网站中抽取信息并集成在一起,如个人简历,招聘信息,租赁信息,商品信息,公司名录;个性化信息代理:将个人或企业感兴趣的多个网站最新内容整合在一起,通过Email的形式或者网页形式提供给用户,节约用户的逐个网站下载并浏览的时间等等。由此可见信息抓取非一般的价值且高精度的信息抓取价值更高。
然而,现有的信息抓取系统均需投入大量的硬件资源,否则无法保证抓取信息的实时性。与此同时,对于不同抓取目标站点,现有技术信息抓取难以均保持文本高度准确。
因此,一种新的信息抓取方法亟待提出。
发明内容
本发明实施例提供一种信息抓取方法及装置,用以解决现有技术中信息抓取非实时、资源消耗大的缺陷。
本发明实施例提供一种信息抓取方法,包括:
统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的详情页链接地址的对照关系;
从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的所述详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;
将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;
根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式。
进一步地,统计信息网站列表,并将将所述信息网站对应的列表页保存在第一数据库中,包括:
访问互联网进行数据下载,当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据库,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
进一步地,所述详情页链接地址保存在所述第一数据库中,包括;
每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
进一步地,从所述第一数据库中读取所述列表页的内容,包括:
读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,则通过查询所述第一数据库中的所述抓取状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取。
进一步地,将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中,包括:
将所述详情页链接地址分配到不同的所述抓取机器后,通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态,并将抓取到的网页详情数据保存到所述第二数据库。
进一步地,所述第一数据库为关系型数据库,包括:MySQL、Oracle、DB2、MicrosoftSQL Server、Microsoft Access;所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、Oracle BDB。
进一步地,将所述详情页链接地址分配到不同的抓取机器上进行抓取,包括:
所述抓取机器根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据。
进一步地,根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式,包括:
根据预设频率将所述目标信息数据从所述本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;
将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中。
本发明实施例提供一种信息抓取装置,包括:
统计模块,用于统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;
采集模块,用于从所述第一数据库中读取所述列表页的内容,抓取出符合预设抓取策略的所述详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中;
调度模块,用于将所述详情页链接地址分配到不同的抓取子模块上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中的详情页数据库;
解析模块,用于根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式。
进一步地,所述统计模块用于,访问互联网进行数据下载,当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
进一步地,所述统计模块用于,每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
进一步地,所述采集模块用于,读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,则通过查询所述第一数据库中的所述抓取状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取。
进一步地,所述调度模块用于,将所述详情页链接地址分配到不同的所述抓取机器,并通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态,并奖抓取到的所述网页详情数据保存到所述第二数据库。
进一步地,所述第一数据库为关系型数据库,包括:MySQL、Oracle、DB2、MicrosoftSQL Server、Microsoft Access;所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、Oracle BDB。
进一步地,所述抓取子模块用于,接收所述调度模块分配的所述详情页链接地址,并根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据。
进一步地,所述解析模块用于,根据预设频率将所述目标信息数据从所述本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中。
本发明实施例提供的信息抓取方法及装置,在信息抓取过程通过对数据库标示字段的修改跟踪,实现抓取系统的过程化监控;通过根据网站更新频率实现抓取频次的实时调整,确保了舆情产品的高监控力度;通过使用关系型数据库和非关系型数据库的结合使用,实现了舆情数据的高效管理;与此同时,采用智能抽取,有效摒弃了广告数据,对抽取出最有价值数据进行处理。从而实现了信息抓取的实时性、高效性、可拓展性以及智能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的方法实施例流程图;
图2为本发明实施例二的方法实施例流程图;
图3为本发明实施例三的方法实施例流程图;
图4为本发明实施例四的装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心在于通过对数据库标示字段的修改跟踪,实现抓取系统的过程化监控;通过对列表页的深度抓取,频次更新实现实时监控;同时采用智能抽取有效摒弃广告数据,抽取出最有价值数据进行处理分析。本发明的各个实施例之间并非单独存在,而是可以相互组合的。另外,本发明实施例的应用场景可以是包括新闻抓取、价格抓取、招聘信息等一切需要信息抓取的场景中。
图1是本发明实施例一的技术流程图,结合图1,本发明实施例一种信息抓取方法包括如下的步骤:
步骤110:统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;
信息抓取是一个将非结构化的信息从网站中抓取出来保存到结构化的数据库中的过程。在本发明实施例中,通过采集全网资讯站点内容,从中抽取新闻标题,发布时间,新闻内容等新闻要素,用以实现对互联网新闻的24小时监控,对企业进行风控预警。与此同时,采用智能抽取实现新闻主题的抽取,以支持后续舆情产品模块对新闻的监控支持。其中,所述舆情指在一定的社会空间内,围绕中介性社会事件的发生、发展和变化,作为主体的民众对作为客体的社会管理者、企业、个人及其他各类组织及其政治、社会、道德等方面的取向产生和持有的社会态度。它是较多群众关于社会中各种现象、问题所表达的信念、态度、意见和情绪等等表现的总和。
本发明实施例中,统计信息网站列表主要是统计主流新闻网站,例如凤凰新闻,新浪新闻,人民网等网站,所述列表页中保存有所述信息网站与对应的URL地址的对照关系,例如,根据现有的几大主流新闻网站可以得到如下的列表页:
信息网站 | URL地址 |
凤凰新闻 | http://news.ifeng.com/ |
新浪新闻 | http://news.sina.com.cn/ |
人民网 | http://www.people.com.cn/ |
搜狐新闻 | http://news.sohu.com/ |
需要说明的是,所述列表页是不断更新的,随着列表页的变化,信息抓取的间隔会动态调整。所述列表页保存在第一数据库中进行维护,用以方便后续使用。
优选的,本发明实施例还可以对所述列表页进行分类,如可以将列表页分为经济类、计算机类、通信类、金融类等不同类别。通过分类能够提高数据库的质量,对数据库的查询更加高效。
本发明实施例中,所述第一数据库为关系型数据库。关系数据库,是建立在关系模型基础上的数据库,关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织;关系模块中常用的操作包括:数据查询、选择、投影、连接、并、交、差、除、数据操作、增加、删除、修改、查询等。常用的关系型数据库包括MySQL、Oracle、DB2、Microsoft SQL Server、Microsoft Access等。本实施例采用MySQL作为列表页存放的数据库,用来存放需频繁访问的列表页信息,和抓取的详情页url,存储数据特点为数据信息量小,需多条件查询和修改。
本发明实施例中,所述第一数据库中主要设置如下常用字段:
数据库字段 | 描述 |
url | 网站的列表页地址,作为抓取的入口页 |
url_regex | 匹配正则 |
url_rabin_hash | 判重标志 |
host | 网站host地址 |
crawl_time | 下次抓取时间 |
surfer_status | 抓取状态码 |
status | 访问此链接返回的网络状态码 |
步骤120:从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的所述详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;
本步骤采用Scrapy作为抓取框架,Scrapy是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy多种类型爬虫的基类,也可以根据需求方便的修改。
第一数据库中保存有所述列表页,所述列表页中包含了大量的信息网站,每一信息网站又包含大量的信息,每一条信息都对应一个网页详情链接地址。在实际应用中,考虑到数据的庞大性以及使用价值,并非所有网站上的信息都要被抽取,因此,通常根据预设的抽取策略抽取部分目标中的信息网站。本发明实施例中,采用正则表达式符合预设抓取策略的所述详情页链接地址,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,可以判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);可以通过正则表达式,从字符串中获取想要的特定部分。正则表达式因其灵活性、逻辑性和非常强的功能性,够实现迅速地用极简单的方式达到字符串的复杂控制。
需要说明的是,本发明实施例中,所述第一数据库中包含列表页数据库和详情页数据库,其中,所述列表页保存在所述列表页数据库中,抓取出符合预设抓取策略的所述详情页链接地址保存在所述详情页数据库中。
例如,当信息抓取的目标为互联网金融相关的新闻时,利用正则表达式可以迅速地匹配出互联网金融相关的新闻详情页链接地址,高效而准确。
步骤130:将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;
面对大量的信息数据,本发明实施例采用多个抓取机器进行抓取,所述抓取机器接收所述详情页链接地址的分配,并将抓取得到的原始的网页详情数据保存在第二数据库中。本发明实施例中,所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、Oracle BDB。例如,本实施例采用了HBase用以存放抓取机器抓取到的最终的网页源数据,其存储数据特点为数据信息量大,不需要多条件查询和频繁修改。
步骤140:根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式。
所述第一数据库中的抓取状态码通过判断当前列表页链接的使用状态来实时监控信息的采集状态。当列表页中的某一网站上的信息正在被抓取时,所述数据库状态码被修改为正在抓取,而抓取得到的数据保存在所述第二数据库,此处需根据数据库状态码查询出需要解析的网页,进入所述第二数据库中查询,并解析网页,从而获取需要的新闻主题字段。
本发明实施例中,采用行块识别技术,正则匹配技术等实现对所述网页详情数据中目标字段的抽取进,从而实现精准有效的信息抓取以及广告等垃圾信息的过滤。
对应地,图2是本发明实施例二的技术流程图,结合图2,本发明实施例一种信息抽取方法中,列表页的统计和更新进一步由以下的步骤实现:
步骤210:访问互联网进行数据下载,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
步骤220:当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据库。
步骤230:每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
本实施例中,根据网站更新频率,计算抓取到的所述列表页中展现的最新详情页比例,从而实现抓取频次的实时调整,实现了信息抓取的广覆盖和高力度监控。其中,动态规划抓取间隔通过修改数据库中的“下次抓取时间”字段实现的,所述“下次抓取时间”字段的值与当前时间差越短,则信息抓取频率越高,实时性更强。
对应地,图3是发明实施例三的技术流程图,结合图3,本发明实施例一种信息抓取方法中,信息抓取的实现与保存主要由以下的步骤实现:
步骤310:读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,执行步骤320;
所述第一数据库中的包含下次抓取时间字段,用于控制抓取频率,若当前时间已经到达预设的下次抓取时间,则启动一次新的抓取过程。
步骤320:查询所述第一数据库中的所述抓取状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取;
所述第一数据库中的所述抓取状态码surfer_status,用于表征当前链接是否正在使用,若列表页中对应的某一详情页链接正在执行信息抓取,则所述抓取状态码surfer_status将修改为这一正在执行抓取的情页链接地址;每执行一次信息抓取,所述第一数据库中的所述数据库状态码将被修改为正在抓取,从而通过所述数据库状态码实现抓取过程的监控。
步骤330:将所述详情页链接地址分配到不同的所述抓取机器后,通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态;
当通过所述第一数据库中的所述抓取状态码查询到所述列表页中待抓取的所述详情页链接地址后,将这些待抓取的地址分发给多个抓取机器,从而实现高效率的信息抓取。与此同时,修改所述第一数据库中所述数据库状态码,例如可以修改为“详情页正在抓取”,并以此监控详情页的采集状态。
步骤340:所述抓取机器根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据;
本发明实施例中,所述预设的格式可以为json格式,当然也可以是其他预设的格式,本发明实施例不做限制。存放在本地磁盘的目的是为了防止所述第二数据库出现意外导致抓取的数据丢失。
步骤350:根据预设频率将所述目标信息数据从所述本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;
步骤360:将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中。
本实施例中,通过对所述第一数据库标示字段的修改跟踪,实现了信息抓取的过程化监控。通过对列表页的深度抓取以及频次更新,实现高效的实时监控。
图4是本发明实施例一种信息抓取装置的结构示意图,结合图4,本发明实施例一种信息抓取装置主要包括如下的模块:统计模块410、采集模块420、调度模块430、解析模块440、抓取子模块450。
所述统计模块410,用于统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;
所述采集模块420,用于从所述第一数据库中读取所述列表页的内容,抓取出符合预设抓取策略的所述详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;
所述调度模块430,用于将所述详情页链接地址分配到不同的抓取子模块上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;
所述解析模块440,用于根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式。
进一步地,所述统计模块410用于,访问互联网进行数据下载,当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据库,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
进一步地,所述统计模块410用于,每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
进一步地,所述采集模块420用于,读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,则通过查询所述第一数据库中的所述抓取状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取。
进一步地,所述调度模块430用于,将所述详情页链接地址分配到不同的所述抓取机器,并通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态,并奖抓取到的所述网页详情数据保存到所述第二数据库。
进一步地,所述第一数据库为关系型数据库,包括:MySQL、Oracle、DB2、MicrosoftSQL Server、Microsoft Access;所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、Oracle BDB。
进一步地,所述抓取子模块450用于,接收所述调度模块分配的所述详情页链接地址,并根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据。
进一步地,所述解析模块440用于,根据预设频率将所述目标信息数据从所述本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中。
图4所示装置可以执行图1、图2、图3所示实施例的方法,实现原理和技术效果参考图1、图2、图3所示实施例,不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种信息抓取方法,其特征在于,包括如下的步骤:
统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;
从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;
将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;
根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式;
其中,
从所述第一数据库中读取所述列表页的内容,进一步包括:
读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,则通过查询所述第一数据库中的状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取;
将所述详情页链接地址分配到不同的抓取机器上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中,进一步包括:
将所述详情页链接地址分配到不同的所述抓取机器后,通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态,并将抓取到的网页详情数据保存到所述第二数据库;
根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式,进一步包括:
根据预设频率将所述目标信息数据从本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;
将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中;
通过所述第一数据库中的抓取状态码判断当前列表页链接的使用状态来实时监控信息的采集状态,当列表页中的某一网站上的信息正在被抓取时,所述数据库状态码被修改为正在抓取,而抓取得到的数据保存在所述第二数据库,根据数据库状态码查询出需要解析的网页,进入所述第二数据库中查询,并解析网页。
2.根据权利要求1所述的方法,其特征在于,
从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库,进一步包括:
访问互联网进行数据下载,当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据库,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
3.根据权利要求2所述的方法,其特征在于,
所以所述目标信息网站和对应的所述详情页链接地址更新所述列表页,进一步包括:
每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
4.根据权利要求1所述的方法,其特征在于:
所述第一数据库为关系型数据库,包括:MySQL、Oracle、DB2、Microsoft SQL Server、Microsoft Access;
所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、OracleBDB。
5.根据权利要求1所述的方法,其特征在于,将所述详情页链接地址分配到不同的抓取机器上进行抓取,进一步包括:
所述抓取机器根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据。
6.一种信息抓取装置,其特征在于,包括如下的模块:
统计模块,用于统计信息网站列表,并将所述信息网站对应的列表页保存在第一数据库中的列表页数据库,其中,所述列表页中保存有所述信息网站与对应的URL地址的对照关系;
采集模块,用于从所述第一数据库中读取所述列表页的内容,抓取符合预设抓取策略的详情页链接地址并将所述抓取后的所述详情页链接地址保存在所述第一数据库中的详情页数据库;
调度模块,用于将所述详情页链接地址分配到不同的抓取子模块上进行抓取,并将抓取得到的网页详情数据保存在第二数据库中;
解析模块,用于根据所述第一数据库中的数据库状态码从所述第二数据库中抓取出相应的所述网页详情数据,并抽取目标字段,保存为目标格式;
其中,所述采集模块进一步用于:
读取所述第一数据库,查询下次抓取时间字段,若判定下次抓取时间小于当前时间,则通过查询所述第一数据库中的状态码获取所述列表页中待抓取的所述详情页链接地址,并修改所述数据库状态码为正在抓取;
所述调度模块进一步用于:
将所述详情页链接地址分配到不同的所述抓取机器,并通过修改所述第一数据库中的所述数据库状态码来监控相应详情页的抓取状态,并奖抓取到的所述网页详情数据保存到所述第二数据库;
所述解析模块进一步用于:
根据预设频率将所述目标信息数据从本地磁盘中读取至所述第二数据库,抽取所述目标字段并结构化所述目标字段;
将所述结构化的所述目标字段保存在抽取列表中,通过关联列表页标签,生成目标格式并导入到目标系统中;
通过所述第一数据库中的抓取状态码判断当前列表页链接的使用状态来实时监控信息的采集状态,当列表页中的某一网站上的信息正在被抓取时,所述数据库状态码被修改为正在抓取,而抓取得到的数据保存在所述第二数据库,根据数据库状态码查询出需要解析的网页,进入所述第二数据库中查询,并解析网页。
7.根据权利要求6所述的装置,其特征在于,
所述统计模块进一步用于:
访问互联网进行数据下载,当判定下载成功之后,抽取目标信息网站的详情页链接地址,并以所述目标信息网站和对应的所述详情页链接地址更新所述详情页数据库,其中,所述数据为目标信息网站及对应的所述详情页链接地址。
8.根据权利要求6所述的装置,其特征在于,
所述统计模块进一步用于:
每保存一个新的所述详情页链接地址,则计算所述列表页中出现的最新详情页比例,从而动态规划抓取间隔,更新所述第一数据库中的下次抓取时间字段。
9.根据权利要求6所述的装置,其特征在于:
所述第一数据库为关系型数据库,包括:MySQL、Oracle、DB2、Microsoft SQL Server、Microsoft Access;
所述第二数据库为非关系型数据库,包括:Cassandra、HBase、Riak、Voldemort、OracleBDB。
10.根据权利要求6所述的装置,其特征在于,
所述抓取子模块进一步用于:
接收所述调度模块分配的所述详情页链接地址,并根据预设的格式下载目标信息,并将所述目标信息数据保存到本地磁盘用以备份数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510938034.XA CN105447184B (zh) | 2015-12-15 | 2015-12-15 | 信息抓取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510938034.XA CN105447184B (zh) | 2015-12-15 | 2015-12-15 | 信息抓取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447184A CN105447184A (zh) | 2016-03-30 |
CN105447184B true CN105447184B (zh) | 2019-06-11 |
Family
ID=55557360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510938034.XA Active CN105447184B (zh) | 2015-12-15 | 2015-12-15 | 信息抓取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447184B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528857A (zh) * | 2016-11-30 | 2017-03-22 | 政和科技股份有限公司 | 信息采集方法 |
CN106951442A (zh) * | 2017-02-15 | 2017-07-14 | 中国保险信息技术管理有限责任公司 | 一种异构数据库间的数据交互方法及装置 |
CN107885777A (zh) * | 2017-10-11 | 2018-04-06 | 北京智慧星光信息技术有限公司 | 一种基于协作式爬虫的抓取网页数据的控制方法及系统 |
CN110069489B (zh) * | 2017-10-17 | 2023-01-31 | 株式会社日立制作所 | 一种信息处理方法、装置、设备及计算机可读存储介质 |
CN107895032A (zh) * | 2017-11-23 | 2018-04-10 | 安徽科创智慧知识产权服务有限公司 | 进行数据初步清洗的网络数据采集方法 |
CN107832449A (zh) * | 2017-11-23 | 2018-03-23 | 安徽科创智慧知识产权服务有限公司 | 对爬虫抓取进行改进的网络数据采集方法 |
CN107992533A (zh) * | 2017-11-23 | 2018-05-04 | 安徽科创智慧知识产权服务有限公司 | 一种网络数据采集方法 |
CN108549678B (zh) * | 2018-04-02 | 2020-06-19 | 北京今朝在线科技有限公司 | 信息采集系统 |
CN108563738A (zh) * | 2018-04-10 | 2018-09-21 | 东莞市波动赢机器人科技有限公司 | 交易机器人金融数据更新方法及装置 |
CN109063110A (zh) * | 2018-07-28 | 2018-12-21 | 安徽捷兴信息安全技术有限公司 | 一种应用商城中应用信息的抓取方法及装置 |
CN109325161A (zh) * | 2018-09-11 | 2019-02-12 | 五八有限公司 | 舆情数据抓取方法、装置、设备及存储介质 |
CN109857795A (zh) * | 2019-01-02 | 2019-06-07 | 拉卡拉支付股份有限公司 | 一种基于预测模型的数据表接入方法及系统 |
CN109815385A (zh) * | 2019-01-31 | 2019-05-28 | 无锡火球普惠信息科技有限公司 | 基于app客户端的爬虫及爬取方法 |
CN110377690B (zh) * | 2019-06-27 | 2021-03-16 | 北京信息科技大学 | 一种基于远程关系抽取的信息获取方法和系统 |
CN111752927B (zh) * | 2020-06-30 | 2024-05-17 | 深圳前海微众银行股份有限公司 | 基于克隆的数据形态生成方法、装置、终端设备及介质 |
CN112051905B (zh) * | 2020-10-10 | 2021-03-19 | 青海师范大学 | 一种舆情预警装置 |
CN112650910B (zh) * | 2020-12-30 | 2024-03-12 | 北京百度网讯科技有限公司 | 确定网站更新信息的方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635718A (zh) * | 2009-08-26 | 2010-01-27 | 中兴通讯股份有限公司 | 网络爬虫系统及其获取资源的方法和网络资源抓取装置 |
CN102360368A (zh) * | 2011-10-09 | 2012-02-22 | 山东大学 | 基于抽取模板可视化定制的Web数据抽取方法 |
CN102937989A (zh) * | 2012-10-29 | 2013-02-20 | 北京腾逸科技发展有限公司 | 并行化分布式互联网数据抓取方法及其系统 |
US8682913B1 (en) * | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和系统 |
CN104156458A (zh) * | 2014-08-20 | 2014-11-19 | 百度在线网络技术(北京)有限公司 | 一种信息的提取方法及装置 |
-
2015
- 2015-12-15 CN CN201510938034.XA patent/CN105447184B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8682913B1 (en) * | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
CN101635718A (zh) * | 2009-08-26 | 2010-01-27 | 中兴通讯股份有限公司 | 网络爬虫系统及其获取资源的方法和网络资源抓取装置 |
CN102360368A (zh) * | 2011-10-09 | 2012-02-22 | 山东大学 | 基于抽取模板可视化定制的Web数据抽取方法 |
CN102937989A (zh) * | 2012-10-29 | 2013-02-20 | 北京腾逸科技发展有限公司 | 并行化分布式互联网数据抓取方法及其系统 |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和系统 |
CN104156458A (zh) * | 2014-08-20 | 2014-11-19 | 百度在线网络技术(北京)有限公司 | 一种信息的提取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105447184A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447184B (zh) | 信息抓取方法及装置 | |
US11941017B2 (en) | Event driven extract, transform, load (ETL) processing | |
CN108416620B (zh) | 一种基于大数据的画像数据的智能社交广告投放平台 | |
EP2946333B1 (en) | Efficient query processing using histograms in a columnar database | |
US10268652B2 (en) | Identifying correlations between log data and network packet data | |
US9367574B2 (en) | Efficient query processing in columnar databases using bloom filters | |
CN103914478B (zh) | 网页训练方法及系统、网页预测方法及系统 | |
US9858326B2 (en) | Distributed data warehouse | |
WO2017097231A1 (zh) | 话题处理方法及装置 | |
US20230350909A1 (en) | Cloud inference system | |
US20120203747A1 (en) | Method and System for Processing Information of a Stream of Information | |
US10255363B2 (en) | Refining search query results | |
US11748351B2 (en) | Class specific query processing | |
US20190244146A1 (en) | Elastic distribution queuing of mass data for the use in director driven company assessment | |
CN106844588A (zh) | 一种基于网络爬虫的用户行为数据的分析方法及系统 | |
CN108650546A (zh) | 弹幕处理方法、计算机可读存储介质及电子设备 | |
CN102902614B (zh) | 一种动态监测及智能引导方法 | |
Santos et al. | A first study on temporal dynamics of topics on the web | |
CN108121712B (zh) | 一种关键词存储方法及装置 | |
CN106910082A (zh) | 一种调取广告进行推送的方法和装置 | |
CN110019152A (zh) | 一种大数据清洗方法 | |
Abdullahi et al. | Big data: performance profiling of meteorological and oceanographic data on hive | |
Suguna et al. | An overview of web usage mining | |
Hussein et al. | A New Effcient Files Retrieval System Using Caching Search Engine | |
CN111460307B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100080 No.101, 1st floor, building 14, No.27, Jiancai Chengzhong Road, Haidian District, Beijing Patentee after: Beijing PERCENT Technology Group Co.,Ltd. Address before: 100080 15 / F, block a, China Technology Trading Building, 66 North Fourth Ring Road West, Haidian District, Beijing Patentee before: BEIJING BAIFENDIAN INFORMATION SCIENCE & TECHNOLOGY Co.,Ltd. |