CN110968758B - 网页数据的爬取方法及装置 - Google Patents
网页数据的爬取方法及装置 Download PDFInfo
- Publication number
- CN110968758B CN110968758B CN201811161352.XA CN201811161352A CN110968758B CN 110968758 B CN110968758 B CN 110968758B CN 201811161352 A CN201811161352 A CN 201811161352A CN 110968758 B CN110968758 B CN 110968758B
- Authority
- CN
- China
- Prior art keywords
- content data
- webpage
- crawled
- crawling
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网页数据的爬取方法及装置,涉及爬虫技术领域,主要目的在于解决现有的爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题。本发明的方法包括:接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;若不一致,则爬取所述第二内容数据。本发明适用于爬取网页中的数据。
Description
技术领域
本发明涉及爬虫技术领域,尤其涉及一种网页数据的爬取方法及装置。
背景技术
随着大数据时代的到来,网络中的数据量也不断增加。为了快速获取网页中的数据,网络爬虫的使用也逐步普及。其中,网络爬虫,又被称为网页蜘蛛、网络机器人,这是一种按照一定的规则,自动地抓取互联网信息和数据的程序或者脚本。通常,网站中的每一个网页内都包含有多个网页元素,而网络爬虫则会对每一个网页元素所对应的具体网页数据逐个进行爬取,从而实现对网站中每个网页内的网页数据进行获取。
在很多网站中,网站内每个网页的布局和构架都是相同的,其每个网页的网页元素的分布和数量也是相同的,其区别仅在于不同页面内的网页元素对应的实际内容可能是不同的。目前,当爬虫在对此类网站进行爬取时,会将网页内的每个网页元素对应的实际内容进行爬取,并反馈给用户。然而,在实际应用中,由于可能存在两个页面中仅有部分网页元素所对应的实际内容是不同的,基于现有的爬虫爬取方式,则会将不同网页中同一位置的网页元素所对应的相同内容进行重复爬取,这就导致所爬取网页数据存在大量冗余,影响了爬虫爬取的网页数据的准确性。
发明内容
鉴于上述问题,本发明提供一种网页数据的爬取方法及装置,主要目的在于解决现有技术中爬取不同网页中相同的内容,导致爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题。
为解决上述技术问题,第一方面,本发明提供了一种网页数据的爬取方法,该方法包括:
接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;
根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
若不一致,则爬取所述第二内容数据。
可选的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
判断所述待爬取网页元素是否存在对应的元素标签;
若不存在,则根据元素爬取规则及预先建立的规则内容对应关系,获取所述待爬取网页元素对应的第三内容数据,所述规则内容对应关系中存储有所述元素爬取规则对应的网页元素的内容数据;
判断所述第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
可选的,在所述根据元素爬取规则获取对应所述待爬取网页元素对应的第三内容数据之前,所述方法还包括:
判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
若不存在,则爬取所述第二内容数据。
可选的,所述判断所述第一内容数据与第二内容数据是否一致包括:
从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
判断所述第一特征与所述第二特征是否一致;
和/或,
通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
判断所述第一参数与所述第二参数是否一致。
可选的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
为网页添加对应的元素标签;
爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中;
和/或,
在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。
第二方面,本发明还提供了一种网页数据的爬取装置,该装置包括:
确定单元,用于接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;
第一获取单元,用于根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
第一判断单元,用于判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
爬取单元,用于若判断所述第一内容数据与第二内容数据不一致,则爬取所述第二内容数据。
可选的,所述装置还包括:
第二判断单元,用于判断所述待爬取网页元素是否存在对应的元素标签;
第二获取单元,用于所述待爬取网页元素若不存在对应的元素标签,则根据元素爬取规则获取所述待爬取网页元素对应的第三内容数据,所述元素爬取规则包含有网页中网页元素所对应的内容数据;
第三判断单元,用于判断所述第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
所述爬取单元,还用于若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
可选的,所述装置还包括:
第四判断单元,用于判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
所述爬取单元,还用于若判断所述待爬取网页元素对应的网页不存在所述元素爬取规则,则爬取所述第二内容数据。
可选的,所述第一判断单元,包括:
提取模块,用于从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
第一判断模块,用于判断所述第一特征与所述第二特征是否一致;
计算模块,用于通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
第二判断模块,用于判断所述第一参数与所述第二参数是否一致。
可选的,所述装置还包括:
第一添加单元,用于为网页添加对应的元素标签;
第二添加单元,爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中;
生成单元,用于在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的网页数据的爬取方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的网页数据的爬取方法。
借由上述技术方案,本发明提供的网页数据的爬取方法及装置,对于现有技术在爬虫爬取网页数据时,容易爬取不同网页中相同的内容,导致所爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题。本发明当接收到爬取指令时,通过确定待爬取网页元素及所述待爬取网页元素对应的元素标签,并根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,再判断所述第一内容数据与第二内容数据是否一致,其中,所述第二内容数据为待爬取网页元素对应的网页数据,当不一致时,爬取所述第二内容数据,由于第一内容数据为已被爬取的数据,因此,根据上述方法确保所爬取的数据均为未被爬取的数据,这样能够避免爬取网页中相同的内容所导致的数据冗余的问题,提高了爬取的网页数据的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种网页数据的爬取方法流程图;
图2示出了本发明实施例提供的另一种网页数据的爬取方法流程图;
图3示出了本发明实施例提供的一种网页数据的爬取装置的组成框图;
图4示出了本发明实施例提供的另一种网页数据的爬取装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了解决现有技术中爬取不同网页中相同的内容,导致爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题,本发明实施例提供了一种网页数据的爬取方法,如图1所示,该方法包括:
101、接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签。
通常,在对网页中的数据进行爬取时,一般都是对网页中的网页元素进行的,其中每个网页元素都对应有实际的内容数据,而为了能够在爬取网页数据时,避免对相同内容的反复爬取,因此,在本发明实施例中,可以在接收到爬取指令时,首先确定所需爬取的网页元素,即所述待爬取网页元素,然后再根据待爬取元素确定对应的元素标签。
其中,该元素标签可以理解为一种存储有当前网页中已爬取的网页元素、以及已爬取网页元素对应的实际的内容数据。在此,对于元素标签可以选取如列表等任一种可以存储网页元素及内容数据的形式,可根据需要自行选取。另外,在为设定元素标签时,可以在初次爬取完网页元素时进行设定和更新,当然,也可以根据实际爬取时的需要,在爬取任务完成时,统一进行元素标签的更新,具体的,并不做限定,可以根据实际情况选取。
102、根据所述元素标签从已爬取的网页内容数据中获取第一内容数据。
其中,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系。
当前述步骤101中确定了元素标签时,则可能说明该网页元素之前爬取过,而在网页中,网页内容可能是实时更新的,因此,在本步骤中,可以从所述元素标签中来获取已爬取的第一内容数据。
103、判断所述第一内容数据与第二内容数据是否一致。
其中,所述第二内容数据为待爬取网页元素对应的网页数据。
当前述步骤102中已经获取了第一内容数据时,则可以根据本步骤所述的方法,对待爬取网页元素中获取第二内容数据,然后对二者进行判断,以确定二者是否相同。从而确定当前待爬取网页元素的内容数据是否是之前已经爬取过的内容数据。具体的,在进行判断时,可以根据从二者的内容数据中进行数据特征的提取,并基于数据特征进行判断,这样能够确保判断结果准确的同时,还能减少判断全体数据内容时的数据量。当然,在本发明实施例中,对于二者的判断方式,包括但不限于上述所述的方法,还可以通过其他的方式进行判断,在此并不做具体的限定,可以以实际情况自行选取合适的判断方式。
104、若所述第一内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
经前述步骤103的判断,当第一内容数据与第二内容数据不一致时,则说明当前待爬取的网页元素的内容与之前所爬取并保存在元素标签内的内容是不同的,从而说明当前的待爬取网页元素中的第二内容数据是更合或变化的数据,之前并未爬取过,因此,可以根据本步骤所述的方法对该第二内容数据进行爬取。
本发明实施例提供的网页数据的爬取方法,对于现有技术在爬虫爬取网页数据时,容易爬取不同网页中相同的内容,导致所爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题。本发明当接收到爬取指令时,通过确定待爬取网页元素及所述待爬取网页元素对应的元素标签,并根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,再判断所述第一内容数据与第二内容数据是否一致,其中,所述第二内容数据为待爬取网页元素对应的网页数据,当不一致时,爬取所述第二内容数据,由于第一内容数据为已被爬取的数据,因此,根据上述方法确保所爬取的数据均为未被爬取的数据,这样能够避免爬取网页中相同的内容所导致的数据冗余的问题,提高了爬取的网页数据的准确性。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种网页数据的爬取方法,如图2所示,其具体步骤包括:
201、为网页添加对应的元素标签。
当在对网页进行初次爬取时,为了避免后续再次爬取时,对已爬取的内容反复爬取,因此,在本发明实施例中,可以在爬取当前网页之前,首先依照本步骤所述的方法对该网页添加对应的元素标签。其中,在该元素标签中可以保存有爬取的每个网页元素以及对应的内容数据。这样,当后续再次爬取某网页元素时,则可以根据该元素标签中查询该网页元素对应的内容数据,并与待爬取的进行比较,从而避免同一内容反复爬取的情况。
由此,通过为网页添加对应的元素标签,能够确保在初次爬取网页时,为其设置元素标签的功能,继而为后续的网页数据爬取提供保障和支持。
202、爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中。
这样,可以当后续再次爬取该网页元素时,能够根据已添加至元素标签中的第一内容数据与待爬取的内容数据实现对比的功能。
203、在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。当前述步骤201-202已经为网页添加了元素标签之后,还可以根据本步骤所述的方法,将每个网页元素及其对应的内容数据建立对应关系,并生成元素爬取规则,从而能够确保当元素标签出现异常或缺失时,能够根据该元素爬取规则进行第一内容数据的提取,进一步的为网页数据爬取结果的准确性提供了保障。
204、接收到爬取指令时,判断所述待爬取网页元素是否存在对应的元素标签。
当接收到爬取指令时,则可以首先确定所需爬取的网页元素,即待爬取网页元素,然后根据本步骤所述的方法,判断该待爬取网页元素是否有与之对应的元素标签。
基于根据判断结果,当判断存在所述待爬取网页元素对应的元素标签时,则说明该网页曾被爬取过,需执行步骤205;反之,则说明该网页并未被爬取过,当然,也可能是元素标签存在缺失,因此,需执行步骤205’。
205、确定待爬取网页元素及所述待爬取网页元素对应的元素标签。
具体的,当判断存在该网页元素对应的元素标签时,则可以根据本步骤所述的方法,确定网页元素的元素标签。具体的,可以根据元素标签的标识与网页元素的标识进行对比,当二者相同时,则说明该元素标签为该网页元素所对应的元素标签。
206、根据所述元素标签从已爬取的网页内容数据中获取第一内容数据。
在确定了网页元素对应的元素标签后,由于该元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系,因此,可以通过该对应关系,从元素标签中获取第一内容数据。
207、判断所述第一内容数据与第二内容数据是否一致。
其中,所述第二内容数据为待爬取网页元素对应的网页数据。
具体的,本步骤可以为,首先,从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;然后,判断所述第一特征与所述第二特征是否一致。其中,对于特征的提取方式,可以根据第一内容数据及第二内容数据的数据种类进行。当数据种类为字符时,则可以从而提取预定数量的字符作为特征字符,然后进行判断。而当数据种类为图像时,则可以基于图像中的特征点提取方式,从二者中分别提取特征点并进行判断。在此,对于提取特征的方式,包括但不限于上述所述的方式进行,在此不做限定。
或者,本步骤还可以为:通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数。判断所述第一参数与所述第二参数是否一致。其中,该预设算法可以为哈希算法,当然,还可以选取其他方式进行计算,在此不做限定。
由此,通过根据第一特征及第二特征来实现对第一内容数据与第二内容数据的对比,能够确保在减少对比的数据量,提高判断效率,从而整体上提高了的网页数据爬取效率。另外,通过对第一内容数据及第二内容数据进行预设算法的计算,并根据二者分别得到的参数进行对比,能够进一步的提高判断结果的准确性,从而整体上提高了网页数据爬取的准确性。
基于根据判断结果,若第一内容数据与第二内容数据一致,则说明待爬取网页元素当前的数据内容与之前爬取到的元素标签中的数据内容是相同的,该网页元素的实际数据并没有发生改变,因此,无需进行爬取。反之,当二者并不一致时,则说明待爬取网页元素的内容数据已发生改变,因此需要进行爬取。由此,当判断结果为二者不一致时,则执行步骤208。
208、爬取所述第二内容数据。
基于前述步骤中的描述,当判断所述第一内容数据与第二内容数据不一致,则说你待爬取网页元素的实际内容发生了变化,因此,需要爬取所述第二内容数据。
进一步的,基于前述步骤204的判断,当判断不存在所述待爬取网页元素对应的元素标签时,则可以按照下述步骤进行。
205’、判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则。
由于在实际应用中,可能存在网页元素的元素标签缺失的问题,因此,为了确保爬取结果的准确性,还需要根据本步骤所述的方法,判断是否存在元素爬取规则。
根据判断结果,若存在元素爬取规则,则执行步骤206’,反之则说明该待爬取网页元素的既未设置元素标签,也未生成过对应的元素爬取规则,则说明该网页元素从未被爬取过,因此,需要进行爬取操作,即执行步骤208。
206’、根据元素爬取规则获取所述待爬取网页元素对应的第三内容数据。
其中,基于前述步骤203中的描述可知,该元素爬取规则中包含有每个被爬取的网页元素,以及被爬取时该网页元素对应的内容数据。因此,可以根据本步骤所述的方法,根据元素爬取规则,从中确定待爬取网页元素对应内容数据,即第三内容数据。
207’、判断所述第三内容数据与所述第二内容数据是否一致。
当前述步骤根据元素爬取规则获取到待爬取网页元素对应的第三内容数据后,可以与待爬取网页元素实际对应的第二内容数据进行对比,并判断二者是否一致。
具体的,对于判断的具体方式可以如前述步骤207中的方式进行,在此不再具体赘述。
根据判断结果,当二者一致时,说明元素爬取规则中已保存有该待爬取网页元素的内容数据,说明该内容数据已被爬取过,不需要进行爬取。而当二者不一致时,则说明当前已待爬取网页元素实际对应的内容数据已发生更新或改变,需要进行执行步骤208,进行第二内容数据的爬取。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种网页数据的爬取装置,用于对上述图1所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:确定单元31、第一获取单元32、第一判断单元33以及爬取单元34,其中
确定单元31,可以用于接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;
第一获取单元32,可以用于根据所述确定单元31确定的元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
第一判断单元33,可以用于判断所述第一获取单元32获取的第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
爬取单元34,可以用于若第一判断单元33判断所述第一内容数据与第二内容数据不一致,则爬取所述第二内容数据。
进一步的,作为对上述图2所示方法的实现,本发明实施例还提供了一种网页数据的爬取装置,用于对上述图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:确定单元401、第一获取单元402、第一判断单元403以及爬取单元404,其中
确定单元401,可以用于接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;
第一获取单元402,可以用于根据所述确定单元401确定的元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
第一判断单元403,可以用于判断所述第一获取单元402获取的第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
爬取单元404,可以用于若第一判断单元403判断所述第一内容数据与第二内容数据不一致,则爬取所述第二内容数据。
进一步的,所述装置还包括:
第二判断单元405,可以用于判断所述待爬取网页元素是否存在对应的元素标签;
第二获取单元406,可以用于第二判断单元405判断所述待爬取网页元素若不存在对应的元素标签,则根据元素爬取规则获取所述待爬取网页元素对应的第三内容数据,所述元素爬取规则包含有网页中网页元素所对应的内容数据;
第三判断单元407,可以用于判断所述第二获取单元406获取的第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
所述爬取单元404,还用于若所述第三判断单元407判断第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
进一步的,所述装置还包括:
第四判断单元408,可以用于判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
所述爬取单元404,还用于若第四判断单元408判断所述待爬取网页元素对应的网页不存在所述元素爬取规则,则爬取所述第二内容数据。
进一步的,所述第一判断单元403,包括:
提取模块4031,可以用于从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
第一判断模块4032,可以用于判断所述提取模块4031提取的第一特征与所述第二特征是否一致;
计算模块4033,可以用于通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
第二判断模块4034,可以用于判断所述计算模块4033计算出的第一参数与所述第二参数是否一致。
进一步的,所述装置还包括:
第一添加单元409,可以用于为网页添加对应的元素标签;
第二添加单元410,可以爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述第一添加单元409所添加的元素标签中;
生成单元411,可以用于在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。
借由上述技术方案,本发明实施例提供一种网页数据的爬取方法及装置,对于现有技术在爬虫爬取网页数据时,容易爬取不同网页中相同的内容,导致所爬取的网页数据中存在大量冗余,影响爬取数据的准确性的问题。本发明当接收到爬取指令时,通过确定待爬取网页元素及所述待爬取网页元素对应的元素标签,并根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,再判断所述第一内容数据与第二内容数据是否一致,其中,所述第二内容数据为待爬取网页元素对应的网页数据,当不一致时,爬取所述第二内容数据,由于第一内容数据为已被爬取的数据,因此,根据上述方法确保所爬取的数据均为未被爬取的数据,这样能够避免爬取网页中相同的内容所导致的数据冗余的问题,提高了爬取的网页数据的准确性。
同时,通过为网页添加对应的元素标签,能够确保在初次爬取网页时,为其设置元素标签的功能,继而为后续的网页数据爬取提供保障和支持。进一步的,根据每个网页元素及其对应的内容数据建立对应关系,并生成元素爬取规则,从而能够确保当元素标签出现异常或缺失时,能够根据该元素爬取规则进行第一内容数据的提取,进一步的为网页数据爬取结果的准确性提供了保障。此外,由此,通过根据第一特征及第二特征来实现对第一内容数据与第二内容数据的对比,能够确保在减少对比的数据量,提高判断效率,从而整体上提高了的网页数据爬取效率。另外,通过对第一内容数据及第二内容数据进行预设算法的计算,并根据二者分别得到的参数进行对比,能够进一步的提高判断结果的准确性,从而整体上提高了网页数据爬取的准确性。
所述的网页数据的爬取装置包括处理器和存储器,上述确定单元、第一获取单元、第一判断单元以及爬取单元等作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高爬取网页数据的准确性,减少所爬取数据中的冗余。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述网页数据的爬取方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网页数据的爬取方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;若不一致,则爬取所述第二内容数据。
进一步的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
判断所述待爬取网页元素是否存在对应的元素标签;
若不存在,则根据元素爬取规则及预先建立的规则内容对应关系,获取所述待爬取网页元素对应的第三内容数据,所述规则内容对应关系中存储有所述元素爬取规则对应的网页元素的内容数据;
判断所述第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
进一步的,在所述根据元素爬取规则获取对应所述待爬取网页元素对应的第三内容数据之前,所述方法还包括:
判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
若不存在,则爬取所述第二内容数据。
进一步的,所述判断所述第一内容数据与第二内容数据是否一致包括:
从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
判断所述第一特征与所述第二特征是否一致;
和/或,
通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
判断所述第一参数与所述第二参数是否一致。
进一步的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
为网页添加对应的元素标签;
爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中;
和/或,
在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;若不一致,则爬取所述第二内容数据。
进一步的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
判断所述待爬取网页元素是否存在对应的元素标签;
若不存在,则根据元素爬取规则及预先建立的规则内容对应关系,获取所述待爬取网页元素对应的第三内容数据,所述规则内容对应关系中存储有所述元素爬取规则对应的网页元素的内容数据;
判断所述第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
进一步的,在所述根据元素爬取规则获取对应所述待爬取网页元素对应的第三内容数据之前,所述方法还包括:
判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
若不存在,则爬取所述第二内容数据。
进一步的,所述判断所述第一内容数据与第二内容数据是否一致包括:
从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
判断所述第一特征与所述第二特征是否一致;
和/或,
通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
判断所述第一参数与所述第二参数是否一致。
进一步的,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
为网页添加对应的元素标签;
爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中;
和/或,
在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种网页数据的爬取方法,其特征在于,包括:
接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签,其中,所述元素标签包括列表;
根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
若不一致,则爬取所述第二内容数据;
在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
判断所述待爬取网页元素是否存在对应的元素标签;
若不存在,则根据元素爬取规则及预先建立的规则内容对应关系,获取所述待爬取网页元素对应的第三内容数据,所述规则内容对应关系中存储有所述元素爬取规则对应的网页元素的内容数据;
判断所述第三内容数据与所述第二内容数据是否一致;
若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
2.根据权利要求1所述的方法,其特征在于,在所述根据元素爬取规则获取对应所述待爬取网页元素对应的第三内容数据之前,所述方法还包括:
判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
若不存在,则爬取所述第二内容数据。
3.根据权利要求1所述的方法,其特征在于,所述判断所述第一内容数据与第二内容数据是否一致包括:
从所述第一内容数据中提取第一特征,以及从所述第二内容数据中提取第二特征;
判断所述第一特征与所述第二特征是否一致;
和/或,
通过预设算法分别对所述第一内容数据及所述第二内容数据进行计算,得到对应所述第一内容数据的第一参数以及对应所述第二内容数据的第二参数;
判断所述第一参数与所述第二参数是否一致。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述确定待爬取网页元素及所述待爬取网页元素对应的元素标签之前,所述方法还包括:
为网页添加对应的元素标签;
爬取所述网页内网页元素中的内容数据,记作所述第一内容数据,并将所述第一内容数据以及对应的网页元素添加至所述元素标签中;
和/或,
在加载网页的过程中,记录爬取所述网页元素所需要的元素爬取规则,并获取网页元素对应的内容数据;
建立所述元素爬取规则与所述网页元素的内容数据之间的对应关系,得到所述规则内容对应关系。
5.一种网页数据的爬取装置,其特征在于,包括:
确定单元,用于接收到爬取指令时,确定待爬取网页元素及所述待爬取网页元素对应的元素标签;所述元素标签包括列表;
第一获取单元,用于根据所述元素标签从已爬取的网页内容数据中获取第一内容数据,所述元素标签中存储有已爬取网页元素与已爬取网页内容数据的对应关系;
第一判断单元,用于判断所述第一内容数据与第二内容数据是否一致,所述第二内容数据为待爬取网页元素对应的网页数据;
爬取单元,用于若判断所述第一内容数据与第二内容数据不一致,则爬取所述第二内容数据;
第二判断单元,用于判断所述待爬取网页元素是否存在对应的元素标签;
第二获取单元,用于所述待爬取网页元素若不存在对应的元素标签,则根据元素爬取规则获取所述待爬取网页元素对应的第三内容数据,所述元素爬取规则包含有网页中网页元素所对应的内容数据;
第三判断单元,用于判断所述第三内容数据与所述第二内容数据是否一致,所述元素爬取规则包含有网页中网页元素及对应的内容数据;
所述爬取单元,还用于若所述第三内容数据与所述第二内容数据不一致,则爬取所述第二内容数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第四判断单元,用于判断所述待爬取网页元素对应的网页是否存在所述元素爬取规则;
所述爬取单元,还用于若判断所述待爬取网页元素对应的网页不存在所述元素爬取规则,则爬取所述第二内容数据。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的网页数据的爬取方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时权利要求1至权利要求4中任意一项所述的网页数据的爬取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161352.XA CN110968758B (zh) | 2018-09-30 | 2018-09-30 | 网页数据的爬取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161352.XA CN110968758B (zh) | 2018-09-30 | 2018-09-30 | 网页数据的爬取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968758A CN110968758A (zh) | 2020-04-07 |
CN110968758B true CN110968758B (zh) | 2023-05-12 |
Family
ID=70029307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811161352.XA Active CN110968758B (zh) | 2018-09-30 | 2018-09-30 | 网页数据的爬取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968758B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015986A (zh) * | 2016-01-27 | 2017-08-04 | 北京国双科技有限公司 | 一种爬虫爬取网页的方法及装置 |
CN107066576A (zh) * | 2017-04-12 | 2017-08-18 | 成都四方伟业软件股份有限公司 | 一种大数据网络爬虫分页选择方法和系统 |
CN107861974A (zh) * | 2017-09-19 | 2018-03-30 | 北京金堤科技有限公司 | 一种自适应网络爬虫系统及其数据获取方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890692A (zh) * | 2011-07-22 | 2013-01-23 | 阿里巴巴集团控股有限公司 | 一种网页信息抽取方法及抽取系统 |
CN103399872B (zh) * | 2013-07-10 | 2016-09-28 | 北京奇虎科技有限公司 | 对网页抓取进行优化的方法和装置 |
CN105824965A (zh) * | 2016-04-01 | 2016-08-03 | 无锡中科富农物联科技有限公司 | 基于动态爬虫技术的数据源发现方法 |
US10949474B2 (en) * | 2017-02-23 | 2021-03-16 | Innoplexus Ag | Method and system for performing topic-based aggregation of web content |
CN108280110A (zh) * | 2017-05-15 | 2018-07-13 | 广州市动景计算机科技有限公司 | 网站差异对比方法、装置及客户端 |
CN108334585A (zh) * | 2018-01-29 | 2018-07-27 | 湖北省楚天云有限公司 | 一种网页爬虫方法、装置以及电子设备 |
-
2018
- 2018-09-30 CN CN201811161352.XA patent/CN110968758B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015986A (zh) * | 2016-01-27 | 2017-08-04 | 北京国双科技有限公司 | 一种爬虫爬取网页的方法及装置 |
CN107066576A (zh) * | 2017-04-12 | 2017-08-18 | 成都四方伟业软件股份有限公司 | 一种大数据网络爬虫分页选择方法和系统 |
CN107861974A (zh) * | 2017-09-19 | 2018-03-30 | 北京金堤科技有限公司 | 一种自适应网络爬虫系统及其数据获取方法 |
Non-Patent Citations (1)
Title |
---|
李华波 等.有效的爬行Ajax页面的网络爬行算法 .《电子科技大学学报》.2013,第42卷(第1期),115-120. * |
Also Published As
Publication number | Publication date |
---|---|
CN110968758A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108270629B (zh) | 网站访客行为监测方法及装置 | |
CN110020339B (zh) | 基于无埋点的网页数据采集方法及装置 | |
CN107294918B (zh) | 一种钓鱼网页检测方法及装置 | |
CN107015986B (zh) | 一种爬虫爬取网页的方法及装置 | |
CN108874379B (zh) | 页面的处理方法及装置 | |
CN106919620B (zh) | 单页面处理方法及装置 | |
CN110955846A (zh) | 传播路径图生成方法及装置 | |
CN112579623A (zh) | 存储数据的方法、装置、存储介质及设备 | |
CN114329281A (zh) | 渲染服务器、网页渲染方法及装置 | |
CN109558548B (zh) | 一种消除css样式冗余的方法及相关产品 | |
CN111125087B (zh) | 数据的存储方法及装置 | |
CN117608569A (zh) | 一种table表单渲染方法、系统及存储介质 | |
CN106611118B (zh) | 申请登录凭证的方法和装置 | |
CN110968758B (zh) | 网页数据的爬取方法及装置 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN110929188A (zh) | 服务端页面渲染方法及装置 | |
CN108984572B (zh) | 网站信息推送方法及装置 | |
CN110968754B (zh) | 一种爬虫翻页策略的检测方法及装置 | |
CN115297042A (zh) | 检测不同网络下网页一致性的方法及相关设备 | |
CN110851746B (zh) | 爬虫种子生成方法及装置 | |
CN109829126A (zh) | 信任站点的添加方法及相关装置 | |
CN110968888B (zh) | 一种数据处理方法及装置 | |
CN110969461B (zh) | 公众号信息的处理方法及装置、存储介质、处理器 | |
CN110955854A (zh) | 一种热力图生成方法及装置 | |
CN106997353B (zh) | 网页改版的监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |