CN113918792A - 网页数据爬取方法、装置及本地服务器 - Google Patents

网页数据爬取方法、装置及本地服务器 Download PDF

Info

Publication number
CN113918792A
CN113918792A CN202111336685.3A CN202111336685A CN113918792A CN 113918792 A CN113918792 A CN 113918792A CN 202111336685 A CN202111336685 A CN 202111336685A CN 113918792 A CN113918792 A CN 113918792A
Authority
CN
China
Prior art keywords
crawling
target
webpage
data
configuration information
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.)
Pending
Application number
CN202111336685.3A
Other languages
English (en)
Inventor
王梓琳
张弓
郑睿博
骆庚
任颖
何高波
陈子申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arsc Underground Space Technology Development Co ltd
Original Assignee
Arsc Underground Space Technology Development Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Arsc Underground Space Technology Development Co ltd filed Critical Arsc Underground Space Technology Development Co ltd
Priority to CN202111336685.3A priority Critical patent/CN113918792A/zh
Publication of CN113918792A publication Critical patent/CN113918792A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

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 Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的实施例提供了一种网页数据爬取方法、装置及本地服务器,涉及数据爬取技术领域。本申请首先获取爬取配置信息,所述爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息;所述目标数据信息包括:目标关键词;所述目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址;根据所述爬取配置信息,爬取目标数据;将所述目标数据按照预设规则进行存储。本申请能够对于不同的网页制定不同的爬取规则,实现快速、有选择地爬取网页的目标数据。

Description

网页数据爬取方法、装置及本地服务器
技术领域
本申请涉及数据爬取技术领域,具体而言,涉及一种网页数据爬取方法、装置及本地服务器。
背景技术
随着大规模地下建设工程,如地铁、地下管廊等建筑项目逐年增加,地下空间安全事故也是频繁发生,造成了大量的人员和财物损失。随着网络的发展,互联网成为了大量信息的载体,其中也包含上述地下空间安全事故信息,将这些信息提取并分析,一定程度上可以起到借鉴和警示作用,避免类似事故的发生。
为了在互联网上提取地下空间安全事故信息,需要使用网页爬取技术,即本地服务器利用软件程序,从某个网页的首页开始,依次读取并回传网页的内容。
但是,目前的网页爬取技术,会将整个网站的所有网页中的所有内容都依次抓取,不仅消耗时间和网络带宽成本,获得的数据也混乱、庞杂。不仅如此,由于网络结构不同,现有技术只能对固定网页进行爬取,效率低下。
发明内容
本申请的目的包括,例如,提供了一种网页数据爬取方法、装置及本地服务器,其能够对于不同的网页制定不同的爬取规则,实现快速、有选择地爬取网页的目标数据。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种网页数据爬取方法,包括:
获取爬取配置信息,所述爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息;所述目标数据信息包括:目标关键词;所述目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址;
根据所述爬取配置信息,爬取目标数据;
将所述目标数据按照预设规则进行存储。
在一种可选的实施方式中,所述根据所述爬取配置信息,爬取目标数据,包括:
采用预设过滤算法以及已存储数据,对所述爬取配置信息进行过滤,获取过滤后的爬取配置信息;
采用所述过滤后的爬取配置信息,爬取目标数据。
在一种可选的实施方式中,若所述爬取配置信息包括:目标网页信息,所述采用预设过滤算法以及已存储数据,对所述爬取配置信息进行过滤,获取过滤后的爬取配置信息,包括:
将所述目标网页信息通过所述预设过滤算法过滤重复的网页信息,得到过滤后的爬取配置信息;
所述采用所述过滤后的爬取配置信息,爬取目标数据,包括:
根据所述过滤后的爬取配置信息中的目标网页信息,访问所述目标网页的地址对应的目标网页;
根据所述过滤后的爬取配置信息中的目标关键词、目标网页的列表页地址以及目标网页详情页地址,在所述目标网页中爬取所述目标数据。
在一种可选的实施方式中,所述将所述目标数据按照预设规则进行存储,包括:
将所述目标数据进行解析,得到网页解析内容,所述网页解析内容包括:所述目标数据中包含的对应各字段名的字段内容;
根据预设模型以及所述字段名,将所述字段内容映射至已存数据中所匹配字段名的对应位置。
在一种可选的实施方式中,所述根据预设模型以及所述字段名,将所述字段内容映射至已存数据中所匹配字段名的对应位置,包括:
将所述网页解析内容中的字段内容与所述已存数据中的字段内容进行哈希值比较,若重复,则删除重复的网页解析内容,获取待存储的网页解析内容;
根据预设模型以及所述字段名,将所述待存储的网页解析内容的所述字段内容映射至已存数据中所匹配字段名的对应位置。
在一种可选的实施方式中,所述将所述目标数据按照预设规则进行存储之后,包括:
根据业务需求,在存储的目标数据中进行查询,得到所述业务需求对应的业务所需数据。
在一种可选的实施方式中,所述方法还包括:
若所述爬取配置信息中对应的信息均被访问,则停止爬取目标数据。
第二方面,本申请实施例提供了一种网页数据爬取装置,所述装置包括:
获取模块,用于获取爬取配置信息,所述爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息;
所述目标数据信息包括:目标关键词;
所述目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址;
爬取模块,用于根据所述爬取配置信息,爬取目标数据;
存储模块,用于将所述目标数据按照预设规则进行存储。
第三方面,本申请实施例提供了一种本地服务器,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述本地服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式中任一项所述的网页数据爬取方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式中任一项所述的网页数据爬取方法的步骤。
本申请实施例的有益效果包括,例如:
本申请提供的网页数据爬取方法、装置及本地服务器,首先,在进行数据爬取前,将爬取配置信息中的目标关键词、目标网页的地址预先配置并存储在本地服务器中,这样,在进行数据爬取时,爬取程序就会有选择地将符合条件的目标数据爬取,并存储至本地永久化保存。从而避免了将网页中所有数据全部爬取,更为高效,爬取的数据也更具针对性。其次,爬取配置信息中还预先配置了目标网页的列表页地址、目标网页详情页地址,根据上述地址以及目标网页地址,本申请对于不同的目标网页设定了不同的列表页和详情页,克服了由于网页结构不同,爬取程序不够灵活的问题,实现了对于多个目标网页的高效数据爬取。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网页数据爬取方法的步骤流程示意图;
图2为本申请实施例提供的网页数据爬取方法的又一步骤流程示意图;
图3为本申请实施例提供的网页数据爬取方法的又一步骤流程示意图;
图4为本申请实施例提供的网页数据爬取方法的已存数据在数据库中的表结构;
图5为本申请实施例提供的网页数据爬取方法的又一步骤流程示意图;
图6为本申请实施例提供的网页数据爬取方法的又一步骤流程示意图;
图7为本申请实施例提供的网页数据爬取装置的结构示意图;
图8为本申请实施例提供的本地服务器的结构示意图。
图标:10-网页数据爬取装置;1001-获取模块;1002-爬取模块;1003-存储模块;2001-处理器;2002-存储器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
网页爬取一般是指从某个网页的首页开始,依次读取并回传网页的内容的技术,实现形式可以是软件程序。目前的网页爬取技术会从网站的首页开始,读取首页的内容,若在首页中读取到了其他链接的地址,则访问其他链接,直至网站中所有的网页中所有的内容都获取为止,这种爬取方式不仅消耗时间和网络带宽成本,获得的数据也混乱、庞杂。不仅如此,由于各个网站具有不同的网址结构,现有的网页爬取技术只能爬取固定的预设网站,爬取效率低下,不够灵活。
基于此,申请人经研究,提出了一种网页数据爬取方法、装置及本地服务器,首先,爬取程序根据目标关键词有选择地将符合条件的目标数据爬取,更为高效,爬取的数据也更具针对性。其次,本申请对于不同的目标网页设定了不同的列表页和详情页,克服了由于网页结构不同,爬取程序不够灵活的问题,实现了对于多个目标网页的高效数据爬取。
如下结合多个具体的应用示例,对本申请实施例提供的一种网页数据爬取方法、装置及本地服务器进行解释说明。
请参阅图1,是本申请网页数据爬取方法的实施步骤流程示意图。该方法的执行主体可以是具有计算处理能力的本地服务器,该本地服务器可以是机架式服务器,刀片式服务器、塔式服务器或机柜式服务器等计算设备,可以理解的是,该本地服务器可以是独立的服务器,也可以是上述多个服务器组成的服务器集群。该方法包括:
步骤S101,获取爬取配置信息。
其中,爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息。目标数据信息包括:目标关键词。目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址。
可选地,爬取配置信息可以根据数据爬取需要预先设置,存储在本地服务器的数据库或文档中。其中,爬取周期可以表示执行网页数据爬取方法所对应的爬取程序的周期,可以根据业务需要设置。
本实施例以爬取地下空间安全事故信息为例,目标关键词可以设置为包括下述一项或多项:“沉降”、“管涌”、“流砂”、“路面塌方”、“地下空间火灾”。目标关键词可以用于限定爬取数据的范围。
可选地,目标网页的地址可以是新闻网站的首页URL(uniform resourcelocator,统一资源定位符)地址,如,某新闻网站的首页URL地址格式可以为“http://www.xxxx.com/”。目标网页的列表页地址可以由目标网页的列表页的URL,或者目标网页的列表页的XPATH(XML Path Language,XML(eXtensible Markup Language,可扩展标记语言)路径语言)路径表示,目标网页详情页地址也可以由目标网页的详情页的URL或者目标网页的详情页的XPATH路径表示,本申请在此不做限定。其中,目标网页的列表页或详情页的URL是目标网页的列表页或详情页在互联网中唯一的网址,目标网页的列表页或详情页的XPATH路径用于确定目标数据在目标网页的列表页或详情页的HTML(Hyper Text MarkupLanguage,超文本标记语言)文档中的具体位置。
步骤S102,根据爬取配置信息,爬取目标数据。
在上述步骤配置好爬取配置信息后,存储在本地服务器的爬取程序将会访问配置信息中的目标网页,爬取符合爬取配置信息的目标数据,并传回本地服务器。
步骤S103,将目标数据按照预设规则进行存储。
本地服务器收到目标数据后,将会按照预设的存储规则,将目标数据存储到相应的存储空间中。
在本实施例中,根据爬取配置信息中目标关键词限定的爬取范围,本地服务器可以有选择性地爬取到更具有针对性的目标数据。并且,本实施例中对于不同的目标网页设定了不同的列表页和详情页,克服了由于网页结构不同,爬取程序不够灵活的问题,实现了对于多个目标网页的高效数据爬取。
可选地,如图2所示,上述步骤S102中,根据爬取配置信息,爬取目标数据,可由如下步骤S1021至步骤S1022实现:
步骤S1021,采用预设过滤算法以及已存储数据,对爬取配置信息进行过滤,获取过滤后的爬取配置信息。
其中,预设的过滤算法可以根据实际使用需要选择,本申请在此不做限定。已存储数据可以是在上述步骤中,配置并存储在本地服务器的爬取配置信息中的目标网页URL、目标网页的列表页URL以及目标网页详情页URL。
可选地,本地服务器将在爬取数据前,使用预设的过滤算法,对上述已存储数据按照需要进行过滤,去除冗余的信息,得到过滤后的爬取配置信息。具体的预设的过滤算法的执行过程将在下述实施例中详述。
步骤S1022,采用过滤后的爬取配置信息,爬取目标数据。
本地服务器的爬取程序将会根据过滤后的爬取配置信息,访问目标数据,爬取符合爬取配置信息限定范围的目标数据,并传回本地服务器。
可选地,若爬取配置信息包括:目标网页信息,采用预设过滤算法以及已存储数据,对爬取配置信息进行过滤,获取过滤后的爬取配置信息,包括:将目标网页信息通过预设过滤算法过滤重复的网页信息,得到过滤后的爬取配置信息。
在本实施方式中,预设过滤算法可以是布隆过滤器。布隆过滤器可解释为一种概率型数据结构,具体形式是一串二进制向量和一个或多个随机映射函数,可以用于检索一个URL元素是否在一个已知集合中。其中,二进制向量的长度根据存储空间大小以及URL的数量确定,随机映射函数可以是哈希函数,本申请在此不做限定。例如,某新闻网站的URL为“http://www.xxxx.com/”,根据随机映射函数,将其URL映射为1、4、7三个哈希值,若此时布隆过滤器的二进制向量的第一位、第四位以及第七位上的值均为1,则该新闻网站的URL可能已经在已存储数据的爬取配置信息中存在了,那么这条重复的目标网页信息将会被删除。
采用上述方式,依次将爬取配置信息中的目标网页信息依次通过布隆过滤器,若布隆过滤器中检测到未存储该条目标网页信息,该目标网页信息将会加入已存储数据中,作为爬取配置信息中未过滤的信息的对比依据。爬取配置信息中所有的目标网页信息都经过布隆过滤器后,就得到了过滤后的爬取配置信息。通过采用过滤的方式可以减少重复的信息量,也可以节省爬取的工作量。
其中,上述步骤S1022中,采用过滤后的爬取配置信息,爬取目标数据,包括:根据过滤后的爬取配置信息中的目标网页信息,访问目标网页的地址对应的目标网页。根据过滤后的爬取配置信息中的目标关键词、目标网页的列表页地址以及目标网页详情页地址,在目标网页中爬取目标数据。
可选地,得到过滤后的爬取配置信息后,根据爬取配置信息中的目标网页信息,本地服务器的爬取程序访问目标网页地址,即目标网页的URL所对应的目标网页,该网页可以是新闻网站的首页。
对于上述目标网页的数据,本地服务器的爬取程序将会根据爬取配置信息中的目标网页的列表页地址以及目标网页详情页地址,可以是目标网页的列表页或详情页的URL地址或XPATH路径,访问对应的列表页或者详情页的数据。可以理解的是,若目标网页的列表页或者详情页地址是一个确定的地址,本地服务器的爬取程序将会通过目标网页的列表页或详情页的URL地址访问对应的目标网页。若目标网页的列表页或者详情页的标题就在目标网页上显示,具体的数据内容是另一个地址,本地服务器的爬取程序将会通过XPATH路径解析出其对应的URL地址并访问。
可选地,在访问得到目标网页的数据后,本地服务器的爬取程序还能够根据目标关键词,筛选出符合要求的数据,可以是新闻网站的某些含有上述关键词的新闻报道。具体的筛选算法根据筛选需求确定,本申请在此不做限定。
在本实施例中,在执行爬取程序之前,本地服务器会对爬取配置信息进行过滤,从爬取地址上避免了对于同一目标网页的重复请求,提高了爬取效率。另外,本实施例还能够根据过滤后的爬取配置信息中的目标网页的列表页地址以及目标网页详情页地址以及目标关键词,灵活、高效地爬取得到更有针对性的目标数据。
可选地,如图3所示,上述步骤S103中,将目标数据按照预设规则进行存储,可依据如下步骤S1031至步骤S1032实现:
步骤S1031,将目标数据进行解析,得到网页解析内容,网页解析内容包括:所述目标数据中包含的对应各字段名的字段内容。
步骤S1032,根据预设模型以及字段名,将字段内容映射至已存数据中所匹配字段名的对应位置。
举例说明,请参照图4,已存数据在数据库中的表结构分为多个字段,每个字段信息可以包括:字段名、字段类型、字段长度、小数位数以及是否为空值。字段名可以有一个或多个,每个字段名下可以存储多条数据,在本实施例中,例如,字段名可以包括:pk_id、article_id、title、abstract、release_time、raw_source、content、url、req_url、pic_url、category、platform、url_hash、simhash、title_hash、created_time、updated_time。其中,article_id,记录了目标数据的ID(Identity document,身份标识号),用于唯一确定目标数据。title,表示目标数据中的标题内容。abstract,用于表示目标数据的摘要信息。release_time,用于标识目标数据发布在目标网页上的时间。raw_source,表示目标数据中首页地址信息。content,表示目标数据的除标题和摘要外的主体内容。url,表示目标数据所在的目标网页的准确网址。req_url,表示获取该目标数据的目标网页信息,可以是目标网页的地址、目标网页的列表页地址或目标网页的详情页地址的其中之一。pic_url,若目标数据中含有图片,表示该图片的URL地址。category,表示爬取该目标数据所对应的爬取配置信息中的目标关键词,可以是一个或多个。platform,目标数据所在的目标网页的新闻网站名称信息。url_hash,表示目标数据所在的目标网页的准确网址的URL值所对应的哈希值。simhash,表示目标数据内容对应的哈希值。title_hash,表示目标数据中的标题内容所对应的哈希值。created_time,表示该条数据在本地服务器的数据库中的创建时间。updated_time,表示该条数据在本地服务器中的最近一次的更新时间。
可选地,数据类型可以包括varchar型、int型、datetime型以及text型。其中,varchar型表示可变长字符串的类型。int型表示整数类型。datetime型表示日期类型,存储和显示的格式为“年-月-日时:分:秒”。text型表示长文本字符串的类型。字段长度单位为bit(binary digit,二进制数或比特)。小数位数表示该字段在存储时,小数点后的数字位数。是否为空值表示该值在存储时是否允许为空。
可选地,本地服务器得到目标数据后,将按照上述字段名,使用解析算法对目标数据进行解析,得到对应各字段名的字段内容,即为一条目标数据。其中,解析算法根据实际需求确定,本申请在此不做限定。可以理解的是,目标数据不一定包含所有目标字段对应的字段内容,因此,可有部分字段值为空。
可选地,预设模型可以是ORM(Object Relational Mapping,对象关系映射)模型,用于实现面向对象编程语言中不同类型系统的数据之间的转换,在架构上实现了数据处理层内部的业务逻辑和数据逻辑分离的解耦合。也就是说,ORM模型是在实现数据库增加、删除、修改、查询的具体操作的SQL(Structured Query Language,结构化查询语言)语句上又使用面向对象的编程语言,将其封装为模型类,这样,客户在操作数据库时,只需使用面向对象的编程语言调用模型类,就可以实现操作数据库。
根据上述ORM模型中定义的模型类与数据库表中字段名对应的调用关系,将上述解析得到的字段内容存储至数据库中对应的字段所在的存储位置,就在数据库中增加了一条目标数据。
请参照图5,上述接收并存储目标数据的过程可由如下步骤S201至步骤S205表示:
步骤S201,在数据库中初始化一个连接池,生成多个短连接供爬取程序使用。
其中,连接池表示爬取得到的目标数据在本地服务器存储之前的缓存池,实现了异步的数据库存储方式。每个爬取程序与连接池之间通过临时生成的短连接传输数据。
步骤S202,根据所需字段名称及类型,使用预设模型将连接池中的目标数据映射至数据库中。
根据上述ORM模型,将解析得到的目标数据对应各字段的字段内容映射到对应字段。
步骤S203,创建一个session(时域)对象连接数据库,并定义好SQL语句。
session对象用于存储特定用户会话所需的属性及配置信息,相当于建立了连接池与数据库的通信交互。另外,需要定义好每个字段内容存储到对应的字段时,需使用的SQL语句。
步骤S204,数据传参,通过session链接数据库并执行定义好的SQL。
在上述session对象上,解析得到的目标数据对应各字段的字段内容可以依次传输,并执行上述定义好的SQL语句,将对应各字段的字段内容插入到数据库中各字段的对应存储位置。
步骤S205,关闭和数据库的短连接。
目标数据存储至数据库中对应的字段所在的存储位置,短连接关闭,数据存储完成。
在本实施例中,通过预设模型将对于数据库的具体操作封装,使爬取程序能够更高效的存储数据,并且,预设模型的使用,也便于在具体使用时,本地服务器上数据库迁移或转变为其他数据库。
可选地,如图6所示,上述步骤S1032,根据预设模型以及字段名,将字段内容映射至已存数据中所匹配字段名的对应位置,可由下述步骤S301至步骤S302实现:
步骤S301,将网页解析内容中的字段内容与已存数据中的字段内容进行哈希值比较,若重复,则删除重复的网页解析内容,获取待存储的网页解析内容。
可选地,哈希值比较可以通过一个或多个哈希函数实现,哈希函数是指将哈希表中的元素的关键值映射为元素存储位置的函数。本实施例中,可以将解析后的目标数据中的url_hash、simhash、title_hash三个字段通过哈希函数映射的哈希值,与已存储在数据库中的多条数据中的对应上述三个字段内容所映射的哈希值依次比较,若哈希值一致,则认为爬取到了重复数据,将重复的网页解析内容删除,不存入数据库。
步骤S302,根据预设模型以及字段名,将待存储的网页解析内容的字段内容映射至已存数据中所匹配字段名的对应位置。
若经过上述步骤中的哈希值比较,网页解析内容与已存数据不重复,则将网页解析内容通过上述预设模型,存入数据库中对应字段名的存储位置。
在本实施例中,将爬取得到的目标数据进行解析,并将解析后的目标数据与已存数据进行哈希值比较,保证了存储仅本地服务器的目标数据都是独一无二的,剔除了数据冗余,保证数据简洁性的同时,也节省了数据库空间。
可选地,在步骤S103中的将目标数据按照预设规则进行存储之后,本申请实施例提供的网页数据爬取方法还包括:根据业务需求,在存储的目标数据中进行查询,得到业务需求对应的业务所需数据。
在目标数据完成爬取并存储至本地服务器的数据库后,客户可根据实际业务需求,在预设系统或界面中输入查询关键词,查询并显示数据库中所需的业务数据。其中,预设系统或界面不在本申请限定范围内。
在本实施例中,对获取到的目标数据进行查询、显示,保证了爬取得到的目标信息的价值。
可选地,若爬取配置信息中对应的信息均被访问,则停止爬取目标数据。
爬取配置信息中对应的信息可以包括:目标数据信息以及目标网页信息。本地服务器的爬取程序会遍历目标数据信息中目标关键词与目标网页信息的组合,若所有可能均已被访问,则本地服务器的爬取程序停止爬取信息。
在本实施例中,本地服务器的爬取程序判断爬取配置信息中的信息是否均被访问,只有在结果为是时才停止爬取。这种判断方式保证了爬取的目标数据对于所配置的爬取配置信息而言的全面性。
如图7所示,本实施例还提供一种网页数据爬取装置10,装置包括:
获取模块1001,用于获取爬取配置信息,爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息。目标数据信息包括:目标关键词。目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址。
爬取模块1002,用于根据爬取配置信息,爬取目标数据。
存储模块1003,用于将目标数据按照预设规则进行存储。
上述爬取模块1002具体还用于,采用预设过滤算法以及已存储数据,对爬取配置信息进行过滤,获取过滤后的爬取配置信息。采用过滤后的爬取配置信息,爬取目标数据。
若爬取配置信息包括:目标网页信息,上述爬取模块1002具体还用于,将目标网页信息通过预设过滤算法过滤重复的网页信息,得到过滤后的爬取配置信息。根据过滤后的爬取配置信息中的目标网页信息,访问目标网页的地址对应的目标网页。根据过滤后的爬取配置信息中的目标关键词、目标网页的列表页地址以及目标网页详情页地址,在目标网页中爬取目标数据。
存储模块1003具体还用于,将目标数据进行解析,得到网页解析内容,网页解析内容包括:目标数据中包含的对应各字段名的字段内容。根据预设模型以及字段名,将字段内容映射至已存数据中所匹配字段名的对应位置。
存储模块1003具体还用于,将网页解析内容中的字段内容与已存数据中的字段内容进行哈希值比较,若重复,则删除重复的网页解析内容,获取待存储的网页解析内容。根据预设模型以及字段名,将待存储的网页解析内容的字段内容映射至已存数据中所匹配字段名的对应位置。
网页数据爬取装置10还包括,根据业务需求,在存储的目标数据中进行查询,得到业务需求对应的业务所需数据。
上述网页数据爬取装置10还包括,若爬取配置信息中对应的信息均被访问,则停止爬取目标数据。
本实施例还提供一种本地服务器,如图8所示,本地服务器包括:处理器2001、存储介质和总线,存储介质存储有处理器2001可执行的机器可读指令,当本地服务器运行时,处理器2001与存储介质之间通过总线通信,处理器2001执行上述机器可读指令,以执行前述实施例中的网页数据爬取方法的步骤。
存储器2002、处理器2001以及总线各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。网页数据爬取装置包括至少一个可以软件或固件(firmware)的形式存储于存储器2002中或固化在计算机设备的操作系统(operating system,OS)中的软件功能模块。处理器2001用于执行存储器2002中存储的可执行模块,例如网页数据爬取装置所包括的软件功能模块及计算机程序等。
其中,存储器2002可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述网页数据爬取方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种网页数据爬取方法,其特征在于,所述方法包括:
获取爬取配置信息,所述爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息;所述目标数据信息包括:目标关键词;所述目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址;
根据所述爬取配置信息,爬取目标数据;
将所述目标数据按照预设规则进行存储。
2.根据权利要求1所述的网页数据爬取方法,其特征在于,所述根据所述爬取配置信息,爬取目标数据,包括:
采用预设过滤算法以及已存储数据,对所述爬取配置信息进行过滤,获取过滤后的爬取配置信息;
采用所述过滤后的爬取配置信息,爬取目标数据。
3.根据权利要求2所述的网页数据爬取方法,其特征在于,若所述爬取配置信息包括:目标网页信息,所述采用预设过滤算法以及已存储数据,对所述爬取配置信息进行过滤,获取过滤后的爬取配置信息,包括:
将所述目标网页信息通过所述预设过滤算法过滤重复的网页信息,得到过滤后的爬取配置信息;
所述采用所述过滤后的爬取配置信息,爬取目标数据,包括:
根据所述过滤后的爬取配置信息中的目标网页信息,访问所述目标网页的地址对应的目标网页;
根据所述过滤后的爬取配置信息中的目标关键词、目标网页的列表页地址以及目标网页详情页地址,在所述目标网页中爬取所述目标数据。
4.根据权利要求1所述的网页数据爬取方法,其特征在于,所述将所述目标数据按照预设规则进行存储,包括:
将所述目标数据进行解析,得到网页解析内容,所述网页解析内容包括:所述目标数据中包含的对应各字段名的字段内容;
根据预设模型以及所述字段名,将所述字段内容映射至已存数据中所匹配字段名的对应位置。
5.根据权利要求4所述的网页数据爬取方法,其特征在于,所述根据预设模型以及所述字段名,将所述字段内容映射至已存数据中所匹配字段名的对应位置,包括:
将所述网页解析内容中的字段内容与所述已存数据中的字段内容进行哈希值比较,若重复,则删除重复的网页解析内容,获取待存储的网页解析内容;
根据预设模型以及所述字段名,将所述待存储的网页解析内容的所述字段内容映射至已存数据中所匹配字段名的对应位置。
6.根据权利要求1所述的网页数据爬取方法,其特征在于,所述将所述目标数据按照预设规则进行存储之后,包括:
根据业务需求,在存储的目标数据中进行查询,得到所述业务需求对应的业务所需数据。
7.根据权利要求1所述的网页数据爬取方法,其特征在于,所述方法还包括:
若所述爬取配置信息中对应的信息均被访问,则停止爬取目标数据。
8.一种网页数据爬取装置,其特征在于,所述装置包括:
获取模块,用于获取爬取配置信息,所述爬取配置信息包括下述至少一项:爬取周期、目标数据信息以及目标网页信息;
所述目标数据信息包括:目标关键词;
所述目标网页信息包括下述至少一项:目标网页的地址、目标网页的列表页地址以及目标网页详情页地址;
爬取模块,用于根据所述爬取配置信息,爬取目标数据;
存储模块,用于将所述目标数据按照预设规则进行存储。
9.一种本地服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述本地服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一所述网页数据爬取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述网页数据爬取方法的步骤。
CN202111336685.3A 2021-11-12 2021-11-12 网页数据爬取方法、装置及本地服务器 Pending CN113918792A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111336685.3A CN113918792A (zh) 2021-11-12 2021-11-12 网页数据爬取方法、装置及本地服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111336685.3A CN113918792A (zh) 2021-11-12 2021-11-12 网页数据爬取方法、装置及本地服务器

Publications (1)

Publication Number Publication Date
CN113918792A true CN113918792A (zh) 2022-01-11

Family

ID=79246041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111336685.3A Pending CN113918792A (zh) 2021-11-12 2021-11-12 网页数据爬取方法、装置及本地服务器

Country Status (1)

Country Link
CN (1) CN113918792A (zh)

Similar Documents

Publication Publication Date Title
Jeon et al. A recovery method of deleted record for SQLite database
CN112506946B (zh) 业务数据查询方法、装置、设备及存储介质
US6757678B2 (en) Generalized method and system of merging and pruning of data trees
US11423041B2 (en) Maintaining data lineage to detect data events
CN110431545A (zh) 针对结构化数据和非结构化数据执行查询
CN109033406B (zh) 用于搜索区块链数据的方法、装置及存储介质
WO2017071189A1 (zh) 网页的访问方法、装置、设备及非易失性计算机存储介质
Augeri et al. An analysis of XML compression efficiency
CN109033403B (zh) 用于搜索区块链数据的方法、装置及存储介质
US20060085451A1 (en) Mapping of schema data into data structures
CN109800207B (zh) 日志解析方法、装置、设备及计算机可读存储介质
US20130218919A1 (en) Method and apparatus for managing content
US8275888B2 (en) Indexing heterogeneous resources
CN109783562B (zh) 一种业务处理方法和装置
CN112364083A (zh) 基于配置文件的数据字典管理方法、系统及存储介质
CN111046041A (zh) 数据处理方法和装置、存储介质及处理器
CN116034349A (zh) 列式分析存储格式的半结构化数据的概率文本索引
US20180337930A1 (en) Method and apparatus for providing website authentication data for search engine
Badawi et al. Maintaining the search engine freshness using mobile agent
US11971932B2 (en) Mechanism for web crawling e-commerce resource pages
CN112905600A (zh) 数据查询方法、装置和存储介质及电子设备
CN110162412B (zh) 在客户端进行数据操作的方法和装置
CN113918792A (zh) 网页数据爬取方法、装置及本地服务器
CN104850386A (zh) 一种软件系统国际化资源的处理方法
CN116414855A (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