产品属性数据的获取方法和系统的制作方法

文档序号:7776463阅读:153来源:国知局
产品属性数据的获取方法和系统的制作方法
【专利摘要】本发明提供一种产品属性数据的获取方法和系统,包括如下步骤:接收产品属性数据请求,对所述产品属性数据请求分配代理IP,通过所述代理IP从预设网站下载与所述产品对应的网站数据,解析所述网站数据,得到所述产品的属性数据。上述产品属性数据的获取方法和系统,通过代理IP获取产品属性对应的网站数据,并自动解析出产品属性数据,隐藏了产品属性数据请求来源的真实IP地址,突破了单个IP的访问频率限制,提高了获取产品属性数据的效率,为进行大量产品对比提供了方便。
【专利说明】产品属性数据的获取方法和系统
【技术领域】
[0001]本发明涉及互联网技术,特别是涉及一种产品属性数据的获取方法和系统。
【背景技术】
[0002]随着互联网的发展,互联网中的网站越来越多,其中就有对不同产品进行介绍的网站,如介绍产品的产地、性能参数、颜色、重量等产品属性数据,为了对比不同网站上的产品,需要频繁访问产品所在的网站,然而,为了防止恶意访问,网站会封杀频繁访问的IP。
[0003]传统技术中为了免遭封杀,限制IP的访问频率,当需要进行大量产品对比时,获取产品属性数据时间过长,导致产品对比效率低下。

【发明内容】

[0004]基于此,有必要针对获取产品属性数据时间过长的问题,提供一种能够提高效率的产品属性数据获取方法。
[0005]此外,还有必要针对获取产品属性数据时间过长的问题,提供一种能够提高效率的产品属性数据获取系统。
[0006]一种产品属性数据的获取方法,包括如下步骤:接收产品属性数据请求;对所述产品属性数据请求分配代理IP;通过所述代理IP从预设网站下载与所述产品对应的网站数据;解析所述网站数据,得到所述产品的属性数据。
[0007]在其中一个实施例中,所述对所述产品属性数据请求分配代理IP的步骤之前还包括根据所述产品属性数据请求的任务量调整分配代理IP的线程数量,在所述任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量的步骤。
[0008]在其中一个实施例中,所述对所述产品属性数据请求分配代理IP的步骤之前还包括检测所述代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP的步骤。
[0009]在其中一个实施例中,所述对所述产品属性数据请求分配代理IP的步骤之前还包括:爬取代理网站的代理IP;测试所述爬取的代理IP的类型以及速度;筛选并保存高于预设速度的匿名类型的所述爬取的代理IP得到用于分配的代理IP。
[0010]在其中一个实施例中,所述解析所述网站数据,得到所述产品的属性数据的步骤包括:分析所述下载的网站数据的内容结构;根据所述网站数据的内容结构提取所述产品属性数据所在的网页数据块;在所述网页数据块中查找所述产品属性数据所在的字段并读取对应的产品属性数值。
[0011]一种产品属性数据的获取系统,包括:接收模块,用于接收产品属性数据请求;分配模块,用于对所述产品属性数据请求分配代理IP ;下载模块,用于通过所述代理IP从预设网站下载与所述产品对应的网站数据;解析模块,用于解析所述网站数据,得到所述产品的属性数据。
[0012]在其中一个实施例中,所述系统还包括调整模块,用于根据所述产品属性数据请求的任务量调整分配代理IP的线程数量,在所述任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量。
[0013]在其中一个实施例中,所述系统还包括检测模块,用于检测所述代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP。
[0014]在其中一个实施例中,所述系统还包括:爬取模块,用于爬取代理网站的代理IP ;测试模块,用于测试所述爬取的代理IP的类型以及速度;存储模块,用于筛选并保存高于预设速度的匿名类型的所述爬取的代理IP得到用于分配的代理IP。
[0015]在其中一个实施例中,所述解析模块包括:分析单元,用于分析所述下载的网站数据的内容结构;提取单元,用于根据所述网站数据的内容结构提取所述产品属性数据所在的网页数据块;查找单元,用于在所述网页数据块中查找所述产品属性数据所在的字段并读取对应的产品属性数值。
[0016]上述产品属性数据的获取方法和系统,接收产品属性数据请求,对产品属性数据请求分配代理IP,通过代理IP从预设网站下载与产品对应的网站数据,解析网站数据,得到产品的属性数据,通过代理IP获取产品属性对应的网站数据,并自动解析出产品属性数据,隐藏了产品属性数据请求来源的真实IP地址,突破了单个IP的访问频率限制,提高了获取产品属性数据的效率,为进行大量产品对比提供了方便。
【专利附图】

【附图说明】
[0017]图1为在一个实施例中一种产品属性数据的获取方法的流程示意图;
[0018]图2为在另一个实施例中一种产品属性数据的获取方法的流程示意图;
[0019]图3为在又一个实施例中一种产品属性数据的获取方法的流程示意图;
[0020]图4为在又一个实施例中一种产品属性数据的获取方法的流程示意图;
[0021]图5为在又一个实施例中一种产品属性数据的获取方法的流程示意图;
[0022]图6为在一个实施例中一种产品属性数据的获取系统的结构示意图;
[0023]图7为在另一个实施例中一种产品属性数据的获取系统的结构示意图;
[0024]图8为在又一个实施例中一种产品属性数据的获取系统的结构示意图;
[0025]图9为在又一个实施例中一种产品属性数据的获取系统的结构示意图;
[0026]图10为在又一个实施例中一种产品属性数据的获取系统的结构示意图。
【具体实施方式】
[0027]下面结合具体的实施例及附图对产品属性数据的获取方法和系统的技术方案进行详细阐述,以使其更加清楚。
[0028]如图1所示,在一个实施例中,一种产品属性数据的获取方法,包括如下步骤:
[0029]步骤S110,接收产品属性数据请求。
[0030]本实施例中,在进行产品对比时,需要发送获取产品属性数据的请求,通过监听接收端口发现并接收该产品属性数据请求,提取其中的产品标识符,如名称和型号等,用于确定目标产品;所请求的属性数据的类别包括重量、大小、颜色、价格、存货量、售出量、产地或者性能参数等属性数据中的一种或者两种以上。产品属性数据请求的数据格式可以是包括头部和数据段的报文,其中头部包含有源IP地址和目的IP地址,数据段中包含有所请求的产品属性数据的类别以及产品标识符,通过该数据格式便于对产品属性数据请求进行加工和转发。
[0031]步骤S130,对产品属性数据请求分配代理IP。
[0032]本实施例中,代理IP,即可以用于代理服务的IP地址,因为一个IP地址对应一台主机,所以代理IP也指代理服务器、代理主机等。代理IP可以是购买的或者是从互联网中收集的,读取预定数量的代理IP集合形成代理列表,可以对代理列表中的代理IP按速度进行排序,将速度较高的排在前面,优先分配到产品属性数据请求。对每个产品属性数据请求对应分配一个代理IP,可以是相同的代理IP或者是不同的代理IP,在分配代理IP前判断该代理IP的使用频率是否超过预设频率值,若是,则跳过该代理IP,将产品属性数据请求分配到另一代理IP,否则,将产品属性数据请求分配到当前代理IP,如此可以减少代理IP被封杀的风险。在每分配完一个代理IP后,记录并更新该代理IP的使用频率。
[0033]步骤S150,通过代理IP从预设网站下载与产品对应的网站数据。
[0034]本实施例中,通过代理IP调用预设网站的搜索接口,对从产品属性数据请求中提取的产品标识符进行搜索,接收预设网站返回的搜索结果,提取搜索结果中的链接地址,通过代理IP访问该链接地址对应的网站,从而下载对应的网站数据,如果通过搜索结果界面即可获取产品属性数据,则将搜索结果的网页数据作为要下载的网站数据。预设网站是预先人工筛选的可以获取产品属性数据的网站,如搜索引擎网站、产品销售类网站、百科知识类网站、新闻发布类网站或者产品推广类网站等,预设网站可以是一个或者多个,可以是根据用户选择的,也可以是系统预设的。
[0035]步骤S170,解析网站数据,得到产品的属性数据。
[0036]本实施例中,由于在打开显示的网页中,产品属性数据所在位置相对固定的,并且产品属性数值更新变化时网页其他部分则没变化,所以产品属性数据所在的字段位置以及在一段时间内是固定,读取该字段位置的数值既可得到所需的产品属性数据。具体的字段位置根据不同的网站而有所不同,根据预先的人工分析得到的位置和字段设定读取位置。
[0037]上述产品属性数据的获取方法,接收产品属性数据请求,对产品属性数据请求分配代理IP,通过代理IP从预设网站下载与产品对应的网站数据,解析网站数据,得到产品的属性数据,通过代理IP获取产品属性对应的网站数据,并自动解析出产品属性数据,隐藏了产品属性数据请求来源的真实IP地址,突破了单个IP的访问频率限制,提高了获取产品属性数据的效率,为进行大量产品对比提供了方便。
[0038]如图2所示,在一个实施例中,上述步骤S130之前还包括步骤S190。
[0039]步骤S190,根据产品属性数据请求的任务量调整分配代理IP的线程数量,在任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量。由于单个线程对接收的产品属性数据请求进行排队处理,依序分配代理IP,在接收的产品属性数据请求较多时,无法及时响应,所以在判断到接收的产品属性数据请求超过预设数量时,增加分配代理IP的线程数量,所有分配代理IP的线程并行处理产品属性数据请求,主动抢占接收的产品属性数据请求并对应分配代理IP。通过自动启用多线程处理产品属性数据请求,可以充分利用处理器资源,提高产品属性数据获取效率。
[0040]如图3所示,在一个实施例中,上述步骤S130之前还包括步骤S210。
[0041]步骤S210,检测代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP。由于代理IP因过了使用期限或者被网站被封杀而无法使用,所以在使用前需要进行测试,将无法使用的代理IP作为无效IP删除,并相应将有效代理IP进行补充,以保证代理IP的有效性,从而稳定产品属性数据的获取效率。
[0042]如图4所示,在一个实施例中,上述步骤S130之前还包括步骤S230、步骤S250和步骤S270。其中,
[0043]步骤S230,爬取代理网站的代理IP。由于互联网中有许多免费的代理网站,而代理网站中集合了较多数量的代理IP,包括有不同地理区域以及不同网络类别的代理IP,所以可以通过网络爬虫对代理网站进行分析,获取代理网站的代理IP,简单快捷,节约成本,提高产品属性数据获取效率。
[0044]步骤S250,测试爬取的代理IP的类型以及速度。
[0045]步骤S270,筛选并保存高于预设速度的匿名类型的爬取的代理IP得到用于分配的代理IP。由于代理IP中速度不一,代理种类有匿名与非匿名之分,为了提高隐蔽性和提高效率,需要对爬取的代理IP进行测试和筛选。删除代理速度低于预设速度的代理IP以提高代理IP的平均代理速度;删除非匿名的代理IP以提高代理服务的隐蔽性,减少使用代理服务方IP被封杀的风险。保存筛选后的代理IP得到用于分配的代理IP。通过代理IP过滤,可以提高代理IP的速度以及安全性,提高代理质量。
[0046]如图5所示,在另一个实施例中,上述步骤S170包括步骤S171、步骤S173和步骤S175。其中,
[0047]步骤S171,分析所下载的网站数据中的内容结构。下载的网站数据是单个网页文件或者是包含了多个文件的网页文件夹。对于单个文件,可以对整个文件的代码进行分析,文件代码中可以具有多种网页编程语言,如HTML、ASP、PHP, Script、JavaScript或者VBScript等,可以根据不同网页编程语言的特点对文件代码进行分析,获取其中的框架结构、内容分布以及段落位置;对于具有多个文件的网页数据,可以分析并获取文件类型、文件名称、文件相对位置以及文件夹结构。通过对下载的网站数据进行结构分析,便于网页数据进行定位,提闻效率。
[0048]步骤S173,根据网站数据的内容结构提取产品属性数据所在的网页数据块。由于产品属性数据所在的代码段或者网页文件与网站数据的其他部分可能有相同的代码,对整个网站数据进行代码搜索,不能准确获取产品属性数据所在的位置,所以先根据网站数据的内容结构确定产品属性数据所在的网页数据块,对网站数据进行筛选。该网页数据块,可以是一个一个网页文件或者是网页文件中的代码段落。
[0049]步骤S175,在网页数据块中查找产品属性数据所在的字段并读取对应的产品属性数值。通过代码查找,找出产品属性数值的前后代码字段,从而确定产品属性数值位置。不同产品属性类别的产品属性数值,前后的代码字段有所不同,所以根据该不同特征可以区别每个产品属性数值的位置,对应读取该位置的数值,即得到产品属性数据。
[0050]如图6所示,在一个实施例中,一种产品属性数据的获取系统,包括接收模块110、分配模块130、下载模块150和解析模块170。其中,
[0051]接收模块110,用于接收产品属性数据请求。
[0052]本实施例中,在进行产品对比时,需要发送获取产品属性数据的请求,接收模块110通过监听接收端口发现并接收该产品属性数据请求,提取其中的产品标识符,如名称和型号等,用于确定目标产品;所请求的属性数据的类别包括重量、大小、颜色、价格、存货量、售出量、产地或者性能参数等属性数据中的一种或者两种以上。产品属性数据请求的数据格式可以是包括头部和数据段的报文,其中头部包含有源IP地址和目的IP地址,数据段中包含有所请求的产品属性数据的类别以及产品标识符,通过该数据格式便于对产品属性数据请求进行加工和转发。
[0053]分配模块130,用于对产品属性数据请求分配代理IP。
[0054]本实施例中,代理IP,即可以用于代理服务的IP地址,因为一个IP地址对应一台主机,所以代理IP也指代理服务器、代理主机等。代理IP可以是购买的或者是从互联网中收集的,分配模块130读取预定数量的代理IP集合形成代理列表,可以对代理列表中的代理IP按速度进行排序,将速度较高的排在前面,优先分配到产品属性数据请求。分配模块130对每个产品属性数据请求对应分配一个代理IP,可以是相同的代理IP或者是不同的代理IP,在分配代理IP前判断该代理IP的使用频率是否超过预设频率值,若是,则跳过该代理IP,将产品属性数据请求分配到另一代理IP,否则,将产品属性数据请求分配到当前代理IP,如此可以减少代理IP被封杀的风险。分配模块130在每分配完一个代理IP后,记录并更新该代理IP的使用频率。
[0055]下载模块150,用于通过代理IP从预设网站下载与产品对应的网站数据。
[0056]本实施例中,下载模块150通过代理IP调用预设网站的搜索接口,对从产品属性数据请求中提取的产品标识符进行搜索,接收预设网站返回的搜索结果,提取搜索结果中的链接地址,通过代理IP访问该链接地址对应的网站,从而下载对应的网站数据,如果通过搜索结果界面即可获取产品属性数据,则将搜索结果的网页数据作为要下载的网站数据。预设网站是预先人工筛选的可以获取产品属性数据的网站,如搜索引擎网站、产品销售类网站、百科知识类网站、新闻发布类网站或者产品推广类网站等,预设网站可以是一个或者多个,可以是根据用户选择的,也可以是系统预设的。
[0057]解析模块170,用于解析网站数据,得到产品的属性数据。
[0058]本实施例中,由于在打开显示的网页中,产品属性数据所在位置相对固定的,并且产品属性数值更新变化时网页其他部分则没变化,所以产品属性数据所在的字段位置以及在一段时间内是固定,读取该字段位置的数值既可得到所需的产品属性数据。具体的字段位置根据不同的网站而有所不同,根据预先的人工分析得到的位置和字段设定读取位置。
[0059]上述产品属性数据的获取系统,接收产品属性数据请求,对产品属性数据请求分配代理IP,通过代理IP从预设网站下载与产品对应的网站数据,解析网站数据,得到产品的属性数据,通过代理IP获取产品属性对应的网站数据,并自动解析出产品属性数据,隐藏了产品属性数据请求来源的真实IP地址,突破了单个IP的访问频率限制,提高了获取产品属性数据的效率,为进行大量产品对比提供了方便。
[0060]如图7所示,在一个实施例中,上述系统还包括调整模块190,用于根据产品属性数据请求的任务量调整分配代理IP的线程数量,在任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量。由于单个线程对接收的产品属性数据请求进行排队处理,依序分配代理IP,在接收的产品属性数据请求较多时,无法及时响应,所以在判断到接收的产品属性数据请求超过预设数量时,调整模块190增加分配代理IP的线程数量,所有分配代理IP的线程并行处理产品属性数据请求,主动抢占接收的产品属性数据请求并对应分配代理IP。通过自动启用多线程处理产品属性数据请求,可以充分利用处理器资源,提高产品属性数据获取效率。
[0061]如图8所示,在一个实施例中,上述系统还包括检测模块210,用于检测代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP。由于代理IP因过了使用期限或者被网站被封杀而无法使用,所以在使用前需要进行测试,将无法使用的代理IP作为无效IP删除,并相应将有效代理IP进行补充,以保证代理IP的有效性,从而稳定产品属性数据的获取效率。
[0062]如图9所示,在一个实施例中,上述系统还包括爬取模块230、测试模块250和存储模块270。其中,
[0063]爬取模块230,用于爬取代理网站的代理IP。由于互联网中有许多免费的代理网站,而代理网站中集合了较多数量的代理IP,包括有不同地理区域以及不同网络类别的代理IP,所以可以通过网络爬虫对代理网站进行分析,获取代理网站的代理IP,简单快捷,节约成本,提高产品属性数据获取效率。
[0064]测试模块250,用于测试爬取的代理IP的类型以及速度。
[0065]存储模块270,用于筛选并保存高于预设速度的匿名类型的爬取的代理IP得到用于分配的代理IP。由于代理IP中速度不一,代理种类有匿名与非匿名之分,为了提高隐蔽性和提高效率,需要对爬取的代理IP进行测试和筛选。删除代理速度低于预设速度的代理IP以提高代理IP的平均代理速度;删除非匿名的代理IP以提高代理服务的隐蔽性,减少使用代理服务方IP被封杀的风险。保存筛选后的代理IP得到用于分配的代理IP。通过代理IP过滤,可以提高代理IP的速度以及安全性,提高代理质量。
[0066]如图10所示,在另一个实施例中,解析模块170包括分析单元171、提取单元173和查找单元175。其中,
[0067]分析单元171,用于分析所下载的网站数据中的内容结构。下载的网站数据是单个网页文件或者是包含了多个文件的网页文件夹。对于单个文件,可以对整个文件的代码进行分析,文件代码中可以具有多种网页编程语言,如HTML、ASP、PHP、Script、JavaScript或者VBScript等,可以根据不同网页编程语言的特点对文件代码进行分析,获取其中的框架结构、内容分布以及段落位置;对于具有多个文件的网页数据,可以分析并获取文件类型、文件名称、文件相对位置以及文件夹结构。通过对下载的网站数据进行结构分析,便于网页数据进行定位,提闻效率。
[0068]提取单元173,用于根据网站数据的内容结构提取产品属性数据所在的网页数据块。由于产品属性数据所在的代码段或者网页文件与网站数据的其他部分可能有相同的代码,对整个网站数据进行代码搜索,不能准确获取产品属性数据所在的位置,所以先根据网站数据的内容结构确定产品属性数据所在的网页数据块,对网站数据进行筛选。该网页数据块,可以是一个一个网页文件或者是网页文件中的代码段落。
[0069]查找单元175,用于在网页数据块中查找产品属性数据所在的字段并读取对应的产品属性数值。通过代码查找,找出产品属性数值的前后代码字段,从而确定产品属性数值位置。不同产品属性类别的产品属性数值,前后的代码字段有所不同,所以根据该不同特征可以区别每个产品属性数值的位置,对应读取该位置的数值,即得到产品属性数据。
[0070]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种产品属性数据的获取方法,包括如下步骤: 接收产品属性数据请求; 对所述产品属性数据请求分配代理IP ; 通过所述代理IP从预设网站下载与所述产品对应的网站数据; 解析所述网站数据,得到所述产品的属性数据。
2.根据权利要求1所述的产品属性数据的获取方法,其特征在于,所述对所述产品属性数据请求分配代理IP的步骤之前还包括根据所述产品属性数据请求的任务量调整分配代理IP的线程数量,在所述任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量的步骤。
3.根据权利要求1所述的产品属性数据的获取方法,其特征在于,所述对所述产品属性数据请求分配代理IP的步骤之前还包括检测所述代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP的步骤。
4.根据权利要求1所述的产品属性数据的获取方法,其特征在于,所述对所述产品属性数据请求分配代理IP的步骤之前还包括: 爬取代理网站的代理IP ; 测试所述爬取的代理IP的类型以及速度; 筛选并保存高于预设速度的匿名类型的所述爬取的代理IP得到用于分配的代理IP。
5.根据权利要求1所述的产品属性数据的获取方法,其特征在于,所述解析所述网站数据,得到所述产品的属性数据的步骤包括: 分析所述下载的网站数据的内容结构; 根据所述网站数据的内容结构提取所述产品属性数据所在的网页数据块; 在所述网页数据块中查找所述产品属性数据所在的字段并读取对应的产品属性数值。
6.一种产品属性数据的获取系统,包括: 接收模块,用于接收产品属性数据请求; 分配模块,用于对所述产品属性数据请求分配代理IP ; 下载模块,用于通过所述代理IP从预设网站下载与所述产品对应的网站数据; 解析模块,用于解析所述网站数据,得到所述产品的属性数据。
7.根据权利要求6所述的产品属性数据的获取系统,其特征在于,所述系统还包括调整模块,用于根据所述产品属性数据请求的任务量调整分配代理IP的线程数量,在所述任务量增加时,增加分配代理IP的线程数量,否则减少分配代理IP的线程数量。
8.根据权利要求6所述的产品属性数据的获取系统,其特征在于,所述系统还包括检测模块,用于检测所述代理IP的有效性,删除无效的代理IP并相应补充有效的代理IP。
9.根据权利要求6所述的产品属性数据的获取系统,其特征在于,所述系统还包括: 爬取模块,用于爬取代理网站的代理IP ; 测试模块,用于测试所述爬取的代理IP的类型以及速度; 存储模块,用于筛选并保存高于预设速度的匿名类型的所述爬取的代理IP得到用于分配的代理IP。
10.根 据权利要求6所述的产品属性数据的获取系统,其特征在于,所述解析模块包括:分析单元,用于分析所述下载的网站数据的内容结构; 提取单元,用于根据所述网站数据的内容结构提取所述产品属性数据所在的网页数据块; 查找单元,用于在所述网页数据块中查找所述产品属性数据所在的字段并读取对应的产品属性数值。
【文档编号】H04L29/06GK103581328SQ201310567778
【公开日】2014年2月12日 申请日期:2013年11月14日 优先权日:2013年11月14日
【发明者】谢焕均 申请人:广州品唯软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1