CN104050037A - 一种基于指定电子商务网站的定向爬虫的实现方法 - Google Patents

一种基于指定电子商务网站的定向爬虫的实现方法 Download PDF

Info

Publication number
CN104050037A
CN104050037A CN201410266881.1A CN201410266881A CN104050037A CN 104050037 A CN104050037 A CN 104050037A CN 201410266881 A CN201410266881 A CN 201410266881A CN 104050037 A CN104050037 A CN 104050037A
Authority
CN
China
Prior art keywords
thread
sub
url
commodity
task
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
CN201410266881.1A
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.)
Huaiyin Institute of Technology
Original Assignee
Huaiyin Institute of Technology
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 Huaiyin Institute of Technology filed Critical Huaiyin Institute of Technology
Priority to CN201410266881.1A priority Critical patent/CN104050037A/zh
Publication of CN104050037A publication Critical patent/CN104050037A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于指定电子商务网站的定向爬虫的实现方法,本发明属于WEB数据采集领域,为提高爬虫的分析效率、爬准率,降低因网页内容变动地而导致的爬虫失效率,提高代码的可读性和健壮性;在广义爬虫的基础上,利用队列对任务的顺序进行管理、使用线程池管理机制实现多线程的网页内容分析来提高爬取效率,利用Python作为实现语言,使用CSS选择器和正则表达式结合的手法对指定页面信息进行抓取,大幅提高了爬虫的分析效率、可读性及容错率,从而形成的一种专用于分析指定电子商务网站商城商品信息的聚焦爬虫,该方法提高了爬虫的效率与爬准率,增强了爬虫的适应性和健壮性。本发明为电商价格分析提供了一种稳定便利的数据来源。

Description

一种基于指定电子商务网站的定向爬虫的实现方法
技术领域
本发明属于WEB数据采集领域,特别涉及一种基于指定电子商务网站的定向爬虫的实现方法,可应用于指定电子商务网站特定电子商品信息的采集。
背景技术
基于指定电子商务网站的网络爬虫不同于广义的爬虫,是一种聚焦爬虫,针对指定电子商务网站,进行商品信息数据的分析与采集。随着网络信息的高速增长,网络爬虫技术面临着索引规模扩大,更新速度变快和个性化需求增多等多方面问题。为了解决这些问题,适用于特定主题和个性化搜索主题的网络爬虫应运而生。广义上的爬虫多指通用爬虫,通用爬虫不注重页面采集顺序和被采集页面的相关主题,造成系统资源和网络带宽的浪费,而本方法采用的聚焦爬虫能够尽可能快地爬行、采集尽可能多的与已经预定义好的主题相关内容,通过对整个WEB按主题分块采集,并将不同块的采集结果整合得到最终结果,与通用爬虫相比,这种方法能大幅提高WEB采集覆盖率和页面利用率并提高爬虫效率。基于指定电子商务网站的特定电子商品爬虫采用聚焦爬虫对指定电子商务网站中的商品信息进行定向的数据挖掘,这在很大的程度上避免了计算机资源的浪费,整体提高爬取效率。
本方法使用Python进行爬虫的编写,使用多线程技术提高爬虫的性能,并结合正则表达式的文本分析功能和CSS选择器的选取器功能实现爬虫中文本信息的分析与抓取。
正则表达式:
正则表达式(Regular Expression),通过使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,可以判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”),并通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式灵活性、逻辑性和功能性强,可以迅速地用极简单的方式达到字符串的复杂控制。
CSS选择器:
层叠样式表(Cascading Style Sheets,简写CSS),又称串样式列表、层次结构式样式表文件,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言,能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。通过类别,标签,ID等选择器,可以对页面元素进行编辑。PyQuery是基于层叠样式表的Python第三方模块,通过类名和ID的获取数据。PyQuery通过解析层叠样式表生成DOM树,在DOM树中通过给定的类名或ID获取所对应的数据。由于PyQuery只通过类名和ID来获取数据,因此它拥有普通正则匹配公式所不具备的强大的兼容性,适合在页面排版变动频繁的网站获取数据。
多线程提升爬虫性能:
多线程是一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其他线程共享存储空间,这使得线程间的通信较简单。多个线程的执行是并发的,即在逻辑上是“同时”的。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU切换的速度非常快,用户感觉不到其中的区别,因此用户感觉到线程是同时执行的。
为了提升爬虫性能,需要采用多线程的爬虫技术。由于很多大型网站都采用多个服务器镜像的方式提供同样的网页内容,采用多线程并行抓取能同时获取同一个网站的多个服务器中的网页,这样能极大地减少抓取这类网站所需的时间。
本方法使用的爬虫主要采用正则匹配对页面进行匹配,寻找出所需的商品信息。但是对于文本分析来说,PyQuery更简单易懂,而正则匹配全文匹配计算量过大,而是用PyQuery结构分析定位,能够大幅提高效率,因此,本方法使用的爬虫采用了一种新的形式,将PyQuery与正则表达式相结合,大部分的商品信息可以通过PyQuery用“ID”和“类名”匹配出来,一小部分无法使用PyQuery匹配出的商品信息,可以先用PyQuery匹配出此信息所在的类,再用正则表达式进行精确的匹配。同时,使用多线程编程,进行并发处理,大幅度提高爬虫的效率。这种方法可以有效增强代码可读性和健壮性、增加匹配的正确率、提高运行效率。
发明内容
本发明的目的是将队列方法与多线程方法结合,利用队列来管理任务的先后,用线程池管理机制来分配队列中的任务给子线程,子线程经过判断后使用相对应的模板从指定的电子商务网站上获取特定电子商品的信息或者往队列添加任务,进而提高了爬虫的运行效率,也提高了爬虫的爬准率。
本发明的技术方案是通过队列管理任务的先后顺序,在任务添加到队列后由线程池管理机制来分配队列中的任务给子线程,当任务处理电子商品信息的页面,获取电子商品的参数信息以及价格信息保存到数据库中,当任务处理商品列表的页面,分析获取任务并添加到队列中,进而完成指定电子商务网站的特定电子商品爬虫的实现。
为便于理解本发明方案,首先对本发明的理论基础进行描述如下:
在网络爬虫领域中,有很多用于特定网站的爬虫,并取得有不错的爬取效果。但这些爬虫设计简单,忽视了单线程处理能力有限和网络环境存在的不稳定性以及电子商家定期对网页代码的修改,使网络爬虫效率不是很高,在遇到网络异常与处理的时候缺少解决方案。队列,线程池管理与异常处理相结合的方法提高了爬虫的效率、爬全率和爬准率。队列管理任务先后,提高爬全率减少相同任务的重复执行;线程池提供多线程支持,增强了爬虫并行处理能力,提高了爬虫抓取信息的效率。
具体的说,本发明方案通过如下各步骤实现指定电子商务网站的定向爬虫实现:
步骤1、初始化指定电子商务网站的商品列表入口URL;
步骤2、将初始化的URL添加到任务队列;
步骤3、开启线程池;
步骤4、线程池从队列中获取任务并分配给子线程;
步骤5、子线程调用判断模板对URL进行判断,当任务是处理商品列表的页面,执行步骤6到步骤7;当任务是处理电子商品信息的页面,执行步骤8到步骤13;
步骤6、子线程调用分析商品列表URL的匹配模板,对商品列表URL的页面信息进行分析,获取该页面所有商品的URL以及下一个商品列表的URL,将单个电子商品页面URL添加到任务队列中,如果下一个商品列表的URL存在,将下一个商品列表的URL添加到队列中,否则不添加;
步骤7、结束该子线程,执行步骤14;
步骤8、子线程利用分析电子商品的匹配模板对该线程读取的URL的页面信息进行分析,得到该电子商品的价格信息和商品编号,执行步骤9,否则执行步骤17;
步骤9、子线程调用数据存储模块将价格信息和商品编号存入数据库,执行步骤10;
步骤10、根据该电子商品的商品编号,查询数据库中是否存在该电子商品的参数信息,若该电子商品的参数信息存在,执行步骤13;当该电子商品的参数信息不存在,执行步骤11;
步骤11、子线程利用电子商品的参数匹配模板对该线程读取的URL的页面信息进行分析,得到该电子商品的参数信息,包括:商品编号、标题、品牌、型号、类别信息、预览图片的地址;
步骤12、子线程调用数据存储模块将参数信息存入数据库,执行步骤18;
步骤13、结束该子线程;
步骤14、检测当前任务队列是否还有任务存在,当有任务存在,执行步骤4;当没有任务存在,执行步骤15;
步骤15、检测是否还有子线程在运行,当有子线程在运行,执行步骤14;当没有子线程在运行,执行步骤16;
步骤16、将当次的抓取统计信息写入日志文件,结束程序;
步骤17、将错误信息写入日志文件,结束子线程,执行步骤14;
步骤18、将分析信息写入日志文件,结束子进程,执行步骤14。
步骤1所述URL是指在方法中表现为一串代表网页地址的字符串以及该地址中包含的网页内容;指定电子商务网站是指对于不同的电商网站其爬虫执行的策略也不一样,主要体现在匹配模板的不同,因此对于不同的电子商务网站需要不同的爬虫;商品列表入口URL是指指定电子商务网站商品分类的首页面URL,根据需求可以指定需要信息采集的商品的URL;
步骤2到步骤3是对数据采集系统的初始化,步骤2中将初始化的URL添加到任务队列是指系统中的数据结构存放着需要采集的商品列表入口URL;步骤3开启线程池是初始化一个线程池,线程池中有n个提供任务调度的子线程,n的值由人选定;
步骤4中的线程池从队列中获取任务分配给子线程,具体是指线程池不断地检测队列是否为空和线程池存在空闲的子线程,当队列不为空和线程池中存在空闲子线程时,从队列前端取出一个任务分配给一个空闲的子线程;
步骤5是中判断模板对URL进行域的判断,指定电子商务网站中的商品列表域和单个商品使用不同的域,子线程通过对域的判断选择调用不同的处理策略;
步骤6到步骤7是针对任意一个商品列表的页面URL对其进行操作;步骤6中的商品列表URL的匹配模板,是只适合用于分析指定电子商务网站商品列表页面,分析的内容包括商品列表URL的页面信息中包括的所有展示在展示区的单个商品的URL的列表,以及分析此商品列表的下一个商品列表的URL,不存在则置为空;
步骤8到步骤13是针对单个电子商品的页面URL,对其进行分析;步骤8中的匹配模板用于分析单个商品URL中的价格和商品编号;步骤9中的数据存储模块是专门用于存储商品编号和价格的记录;步骤11中的参数匹配模板是分析单个商品URL中的参数,该模板是适合指定电子商务网站所有类别商品,包括有商品编号、标题、品牌、型号、类别信息、预览图片的地址,对于不同商品存在的不同参数信息不做分析;步骤12中的数据存储模块数专门用于将单个商品的参数信息存储到数据库中;步骤13结束该子线程是指子线程正常完成了任务后结束,释放任务并释放线程池中占用的空间;
步骤14检测队列中是否有任务存在是指检测队列是否为空;
步骤15检测是否有子线程在运行通过锁机制来判断,设置了一个全局锁,只要有子线程在运行,全局锁就不会被释放掉,当没有子线程在运行时,会释放掉全局锁,系统检测全局锁是否释放来判断是否有子线程在运行;
步骤16是指队列中无任务,不存在运行的子线程的情况下,进程将退出,此时将本次运行的总体结果写入日志文件,主要包括采集的数量情况,出现分析失败的个数;
步骤17和18是对子线程分析出现错误的情况的日志记录。
附图说明
图1为本发明具体实施方式的流程图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
如附图1所示,本发明实施方案按照以下步骤进行:
步骤1、初始化指定电子商务网站中的商品列表入口URL的数据集X1={A1,A2,...,An};
步骤2、将初始化的数据集X1添加到任务队列;
步骤3、开启线程池P;
步骤4、检测任务队列中是否有任务存在,如果存在,将计时器重置,执行步骤5,否则执行计时器计时,执行步骤18;
步骤5、检测线程池是否有空的子线程可用,若无,执行步骤4,若有,线程池P从队列中取出任务交给子线程Pn,启动子线程,执行步骤6;
步骤6、利用判断模板对Ai中的URL进行域的判断,当任务是处理商品列表的页面,执行步骤7到步骤8;当任务是处理电子商品信息的页面,执行步骤9至步骤14;
步骤7、子线程调用分析商品列表Ai的匹配模板,对商品列表Ai的页面信息进行分析,获取该页面展示区所有商品的URL的数据集Y={Bj,Bj+1,...,Bk}以及下一个商品列表的URL数据集X2={Ak},将数据集Y添加到任务队列中,如果数据集X2不为空,将X2添加到队列中,否则不添加;
步骤8、结束该子线程,执行步骤14;
步骤9、子线程利用分析电子商品的匹配模板对该子线程读取的Ai的页面信息进行分析,得到该电子商品的价格price和商品编号item_id,执行步骤10,否则执行步骤18;
步骤10、子线程调用数据存储模块将价格price和商品编号item_id组装成一条数据库表记录存入数据库,执行步骤11;
步骤11、根据该电子商品的商品编号item_id,查询数据库中是否存在该电子商品的参数信息,若该电子商品的参数信息存在,执行步骤16;当该电子商品的参数信息不存在,执行步骤12;
步骤12、子线程利用电子商品的参数匹配模板对该线程读取的Ai的页面信息进行分析,得到该电子商品的参数信息,包括:商品编号item_id、标题title、品牌brand、型号model、类别信息集合Cate=[category1,category2,category3]、预览图片的地址pic_url,执行步骤13,若其中有信息无法被分析出来,则视为无法分析的页面URL,执行步骤15;
步骤13、子线程调用数据存储模块将参数信息组装成一条记录存入数据库,执行步骤14;
步骤14、登记商品参数信息为分析信息,将分析信息写入日志文件,执行步骤16;
步骤15、根据程序出错的方式,输出相对应的错误信息,将错误信息写入日志文件,执行步骤16;
步骤16、结束该子线程;
步骤17、检测是否还有子线程在运行,当有子线程在运行,执行步骤4;当没有子线程在运行,执行步骤19;
步骤18、计时器是否满足一分钟,若满足执行17;不满足则执行步骤4;
步骤19、将当次的抓取信息统计并写入日志文件,结束程序。
步骤1所述URL是指在方法中表现为一串代表网页地址的字符串以及该地址中包含的网页内容;指定电子商务网站是指对于不同的电商网站其爬虫执行的策略也不一样,主要体现在匹配模板的不同,因此对于不同的电子商务网站需要不同的爬虫;商品列表入口URL的数据集X1={A1,A2,...,An}指初始化的商品列表入口URL的集合,其中A1,A2,...,An是第i个商品列表Ai的商品列表入口URL;
步骤2到步骤3是对数据采集系统的初始化,步骤2中将X1添加到任务队列是指系统中的数据结构存放着需要采集的商品列表入口URL的数据集X1;步骤3开启线程池是初始化一个线程池,线程池中有n个提供任务调度的子线程,n的值一般由认为选定;
步骤4检测队列中是否有任务存在是指检测队列是否为空;计时器是设置的一个变量值,该变量的变化范围是0至60,计时器的重置是将该变量值置为0,而执行计时器计时则是将该变量自增1;
步骤6是中判断模板对Ai进行域的判断,指定电子商务网站中的商品列表域和单个商品使用了不同的域,子线程通过域的判断选择调用不同的处理策略;
步骤7到步骤8是针对任意一个商品列表的页面Ai对其进行操作;步骤7中的商品列表Ai的匹配模板,是只适合用于分析指定电子商务网站的商品列表页面,分析的内容包括商品列表Ai的页面信息中包括的所有展示在展示区的单个商品的URL的列表,以及分析此商品列表的下一个商品列表的URL,不存在则置为空,其中Bj,Bj+1,...,Bk是第i个展示区单个商品Bj+i的URL,Ak是下一个商品列表URL;
步骤9到步骤16是针对单个电子商品的页面Ai,对其进行分析;步骤9中的匹配模板用于分析出单个商品Ai中的价格和商品编号;步骤10中的数据存储模块是专门用于存储商品编号和价格的记录;步骤12中的参数匹配模板是分析单个商品Ai中的参数,该模板是适合指定电子商务网站中所有类别商品,包括有商品编号、标题、品牌、型号、类别信息、预览图片的地址,对于不同类别的商品存在的不同参数信息不做分析;步骤12中的category1,category2,category3是指商品的三级类别信息;步骤13中的数据存储模块中专门用于将单个商品的参数信息存储到数据库中;步骤16结束该子线程是指子线程正常完成了任务后结束,释放任务并释放线程池中占用的空间;
步骤14和15是对子线程分析出现错误的情况的日志记录;
步骤17检测是否有子线程在运行通过锁机制来判断,设置一个全局锁,只要有子线程在运行,全局锁就不会被释放掉,当没有子线程在运行时,会释放掉全局锁,系统检测全局锁是否被释放掉来判断是否有子线程在运行;
步骤18是设置在一定时间用于给程序缓冲的时间,当队列为空和系统无子线程运行状态保持一分钟时,视为任务结束,进程进入结束状态;
步骤19是指队列中无任务,不存在运行的子线程的情况下,进程将退出,此时将本次运行的总体结果写入日志文件,主要包括采集的数量情况,出现分析失败的个数。
为了更好地说明本方法的效率,以一个电子商务网站为例,利用从该商城网站上抽取的3种不同商品种类在2014年1月10日到2014年1月20日分别使用单个线程、双线程、六个线程,对爬取时间作为效率的参考标准进行比较。
在指定的电子商务网站的特定电子商品爬虫,爬取情况为:使用单线程进行爬取,爬取手机信息平均使用时间为36分45秒,爬取移动硬盘信息平均使用时间为3分45秒,爬取内存信息平均使用时间为3分38秒;使用双线程进行爬取,爬取手机信息平均使用时间为26分43秒,爬取移动硬盘信息平均使用时间为2分12秒,爬取内存信息平均使用时间为2分4秒;使用六个线程进行爬取,爬取手机信息平均使用时间为7分58秒,爬取移动硬盘信息平均使用时间为48秒,爬取内存信息平均使用时间为54秒。爬取手机信息时,双线程比单线程用时少了27.30%,六个线程比单线程用时少了78.23%;爬取移动硬盘信息时,双线程比单线程用时少了41.33%,六个线程比单线程用时少了78.67%;爬取内存信息时,双线程比单线程用时少了43.11%,六个线程比单线程用时少了75.23%。结论是多线程能提高爬虫的速率,在使用六个线程时效率提高约77.38%。
本发明可与计算机系统结合,从而实现指定电子商务网站的定向爬虫的自动化运作,减少人工干预。
本发明创造性的提出了利用队列管理机制与线程池管理机制结合的方法,提高了爬虫的速度以及爬全率。
本发明提出了队列管理机制与线程池管理机制结合的网络商城网站的电子商品爬虫,可以用于收集各类电子商务网站或提供网络报价的实体商城。

Claims (2)

1.一种基于指定电子商务网站的定向爬虫的实现方法,其特征在于:利用队列对任务的顺序进行管理,线程池中的子线程通过预先制定的模板从指定电子商务网站上获取商品的信息或者往队列中追加任务,进而提高了爬虫的运行效率,也提高了爬虫的爬准率,具体步骤包括以下步骤:
步骤1、初始化指定电子商务网站的商品列表入口URL;
步骤2、将初始化的URL添加到任务队列;
步骤3、开启线程池;
步骤4、线程池从队列中获取任务并分配给子线程;
步骤5、子线程调用判断模板对URL进行判断,当任务是处理商品列表的页面,执行步骤6到步骤7;当任务是处理电子商品信息的页面,执行步骤8到步骤13;
步骤6、子线程调用分析商品列表URL的匹配模板,对商品列表URL的页面信息进行分析,获取该页面所有商品的URL以及下一个商品列表的URL,将单个电子商品页面URL添加到任务队列中,如果下一个商品列表的URL存在,将下一个商品列表的URL添加到队列中,否则不添加;
步骤7、结束该子线程,执行步骤14;
步骤8、子线程利用分析电子商品的匹配模板对该线程读取的URL的页面信息进行分析,得到该电子商品的价格信息和商品编号,执行步骤9,否则执行步骤17;
步骤9、子线程调用数据存储模块将价格信息和商品编号存入数据库,执行步骤10;
步骤10、根据该电子商品的商品编号,查询数据库中是否存在该电子商品的参数信息,若该电子商品的参数信息存在,执行步骤13;当该电子商品的参数信息不存在,执行步骤11;
步骤11、子线程利用电子商品的参数匹配模板对该线程读取的URL的页面信息进行分析,得到该电子商品的参数信息,包括:商品编号、标题、品牌、型号、类别信息、预览图片的地址;
步骤12、子线程调用数据存储模块将参数信息存入数据库,执行步骤18;
步骤13、结束该子线程;
步骤14、检测当前任务队列是否还有任务存在,当有任务存在,执行步骤4;当没有任务存在,执行步骤15;
步骤15、检测是否还有子线程在运行,当有子线程在运行,执行步骤14;当没有子线程在运行,执行步骤16;
步骤16、将当次的抓取统计信息写入日志文件,结束程序;
步骤17、将错误信息写入日志文件,结束子线程,执行步骤14;
步骤18、将分析信息写入日志文件,结束子进程,执行步骤14。
2.根据权利要求1所述的一种基于指定电子商务网站的定向爬虫的实现方法,其特征在于:
步骤1所述URL是指在方法中表现为一串代表网页地址的字符串以及该地址中包含的网页内容;指定电子商务网站是指对于不同的电商网站其爬虫执行的策略也不一样,主要体现在匹配模板的不同,因此对于不同的电子商务网站需要不同的爬虫;商品列表入口URL是指指定电子商务网站商品分类的首页面URL,根据需求可以指定需要信息采集的商品的URL;
步骤2到步骤3是对数据采集系统的初始化,步骤2中将初始化的URL添加到任务队列是指系统中的数据结构存放着需要采集的商品列表入口URL;步骤3开启线程池是初始化一个线程池,线程池中有n个提供任务调度的子线程,n的值由人选定;
步骤4中的线程池从队列中获取任务分配给子线程,具体是指线程池不断地检测队列是否为空和线程池存在空闲的子线程,当队列不为空和线程池中存在空闲子线程时,从队列前端取出一个任务分配给一个空闲的子线程;
步骤5是中判断模板对URL进行域的判断,指定电子商务网站中的商品列表域和单个商品使用不同的域,子线程通过对域的判断选择调用不同的处理策略;
步骤6到步骤7是针对任意一个商品列表的页面URL对其进行操作;步骤6中的商品列表URL的匹配模板,是只适合用于分析指定电子商务网站商品列表页面,分析的内容包括商品列表URL的页面信息中包括的所有展示在展示区的单个商品的URL的列表,以及分析此商品列表的下一个商品列表的URL,不存在则置为空;
步骤8到步骤13是针对单个电子商品的页面URL,对其进行分析;步骤8中的匹配模板用于分析单个商品URL中的价格和商品编号;步骤9中的数据存储模块是专门用于存储商品编号和价格的记录;步骤11中的参数匹配模板是分析单个商品URL中的参数,该模板是适合指定电子商务网站所有类别商品,包括有商品编号、标题、品牌、型号、类别信息、预览图片的地址,对于不同商品存在的不同参数信息不做分析;步骤12中的数据存储模块数专门用于将单个商品的参数信息存储到数据库中;步骤13结束该子线程是指子线程正常完成了任务后结束,释放任务并释放线程池中占用的空间;
步骤14检测队列中是否有任务存在是指检测队列是否为空;
步骤15检测是否有子线程在运行通过锁机制来判断,设置了一个全局锁,只要有子线程在运行,全局锁就不会被释放掉,当没有子线程在运行时,会释放掉全局锁,系统检测全局锁是否释放来判断是否有子线程在运行;
步骤16是指队列中无任务,不存在运行的子线程的情况下,进程将退出,此时将本次运行的总体结果写入日志文件,主要包括采集的数量情况,出现分析失败的个数;
步骤17和18是对子线程分析出现错误的情况的日志记录。
CN201410266881.1A 2014-06-13 2014-06-13 一种基于指定电子商务网站的定向爬虫的实现方法 Pending CN104050037A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410266881.1A CN104050037A (zh) 2014-06-13 2014-06-13 一种基于指定电子商务网站的定向爬虫的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410266881.1A CN104050037A (zh) 2014-06-13 2014-06-13 一种基于指定电子商务网站的定向爬虫的实现方法

Publications (1)

Publication Number Publication Date
CN104050037A true CN104050037A (zh) 2014-09-17

Family

ID=51502931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410266881.1A Pending CN104050037A (zh) 2014-06-13 2014-06-13 一种基于指定电子商务网站的定向爬虫的实现方法

Country Status (1)

Country Link
CN (1) CN104050037A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408195A (zh) * 2014-12-15 2015-03-11 北京国双科技有限公司 爬虫程序工作状态的判断方法和装置
CN105589857A (zh) * 2014-10-21 2016-05-18 腾讯科技(深圳)有限公司 一种网页内容抓取方法和装置
CN105868412A (zh) * 2016-04-28 2016-08-17 焦点科技股份有限公司 一种基于b2b平台的多线程数据抓取方法
CN105930482A (zh) * 2016-04-29 2016-09-07 北京小米移动软件有限公司 对网络数据进行关键词匹配的方法及装置
CN107305548A (zh) * 2016-04-18 2017-10-31 北京国双科技有限公司 控制网络爬虫的任务分配方法和装置
CN108255870A (zh) * 2016-12-29 2018-07-06 中国移动通信集团浙江有限公司 一种网站数据爬取方法及装置
CN108363775A (zh) * 2018-02-09 2018-08-03 上海宝尊电子商务有限公司 基于规则引擎的高扩展性线上预览环境方法
CN108763082A (zh) * 2018-05-30 2018-11-06 平安普惠企业管理有限公司 测试数据生成方法、装置、计算机设备及存储介质
CN109508181A (zh) * 2017-09-14 2019-03-22 韩真 一种高效的语义化前端选择子方案的方法
CN110020747A (zh) * 2019-03-14 2019-07-16 华中科技大学 一种负荷释放特性的影响因素分析方法
CN110175277A (zh) * 2019-05-07 2019-08-27 南京邮电大学 面向电商平台的农药信息采集方法
CN110633429A (zh) * 2018-05-31 2019-12-31 北京京东尚科信息技术有限公司 内容爬取方法与装置以及分布式爬虫系统
CN111488508A (zh) * 2020-04-10 2020-08-04 长春博立电子科技有限公司 一种支持多协议分布式高并发的互联网信息采集系统及方法
CN112163138A (zh) * 2020-09-11 2021-01-01 西南大学 一种基于网络爬虫的网购平台实现数据可视化的方法
CN112231093A (zh) * 2020-12-14 2021-01-15 北京智慧星光信息技术有限公司 基于代码模板和协程池的数据采集方法、系统及电子设备
CN113065055A (zh) * 2021-04-21 2021-07-02 平安国际智慧城市科技股份有限公司 新闻资讯抓取方法、装置、电子设备及存储介质
CN114119147A (zh) * 2021-11-16 2022-03-01 浪潮卓数大数据产业发展有限公司 一种在线商品真实交易价格的获取方法及系统
DE202022103801U1 (de) 2022-07-07 2022-08-02 Ahmed Alemran Ein intelligentes Finanzverwaltungssystem für E-Commerce-Websites zur Analyse von Preisen und Gewinnen durch maschinelles Lernen
CN117807294A (zh) * 2024-02-28 2024-04-02 深圳市豪斯莱科技有限公司 一种多线程网络爬虫调度管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452463A (zh) * 2007-12-05 2009-06-10 浙江大学 定向抓取页面资源的方法和装置
CN102591992A (zh) * 2012-02-15 2012-07-18 苏州亚新丰信息技术有限公司 基于垂直搜索和聚焦爬虫技术的网页分类识别系统及方法
US20120259833A1 (en) * 2011-04-11 2012-10-11 Vistaprint Technologies Limited Configurable web crawler
CN102867053A (zh) * 2012-09-12 2013-01-09 北京奇虎科技有限公司 收集网站信息中有效信息网页的方法、装置及系统
CN103226609A (zh) * 2013-05-03 2013-07-31 福建师范大学 一种web聚焦搜索系统的搜索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452463A (zh) * 2007-12-05 2009-06-10 浙江大学 定向抓取页面资源的方法和装置
US20120259833A1 (en) * 2011-04-11 2012-10-11 Vistaprint Technologies Limited Configurable web crawler
CN102591992A (zh) * 2012-02-15 2012-07-18 苏州亚新丰信息技术有限公司 基于垂直搜索和聚焦爬虫技术的网页分类识别系统及方法
CN102867053A (zh) * 2012-09-12 2013-01-09 北京奇虎科技有限公司 收集网站信息中有效信息网页的方法、装置及系统
CN103226609A (zh) * 2013-05-03 2013-07-31 福建师范大学 一种web聚焦搜索系统的搜索方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589857A (zh) * 2014-10-21 2016-05-18 腾讯科技(深圳)有限公司 一种网页内容抓取方法和装置
CN104408195B (zh) * 2014-12-15 2017-12-19 北京国双科技有限公司 爬虫程序工作状态的判断方法和装置
CN104408195A (zh) * 2014-12-15 2015-03-11 北京国双科技有限公司 爬虫程序工作状态的判断方法和装置
CN107305548A (zh) * 2016-04-18 2017-10-31 北京国双科技有限公司 控制网络爬虫的任务分配方法和装置
CN107305548B (zh) * 2016-04-18 2020-02-28 北京国双科技有限公司 控制网络爬虫的任务分配方法和装置
CN105868412B (zh) * 2016-04-28 2019-05-03 焦点科技股份有限公司 一种基于b2b平台的多线程数据抓取方法
CN105868412A (zh) * 2016-04-28 2016-08-17 焦点科技股份有限公司 一种基于b2b平台的多线程数据抓取方法
CN105930482A (zh) * 2016-04-29 2016-09-07 北京小米移动软件有限公司 对网络数据进行关键词匹配的方法及装置
CN108255870B (zh) * 2016-12-29 2021-06-01 中国移动通信集团浙江有限公司 一种网站数据爬取方法及装置
CN108255870A (zh) * 2016-12-29 2018-07-06 中国移动通信集团浙江有限公司 一种网站数据爬取方法及装置
CN109508181A (zh) * 2017-09-14 2019-03-22 韩真 一种高效的语义化前端选择子方案的方法
CN108363775A (zh) * 2018-02-09 2018-08-03 上海宝尊电子商务有限公司 基于规则引擎的高扩展性线上预览环境方法
CN108763082A (zh) * 2018-05-30 2018-11-06 平安普惠企业管理有限公司 测试数据生成方法、装置、计算机设备及存储介质
CN110633429A (zh) * 2018-05-31 2019-12-31 北京京东尚科信息技术有限公司 内容爬取方法与装置以及分布式爬虫系统
CN110020747A (zh) * 2019-03-14 2019-07-16 华中科技大学 一种负荷释放特性的影响因素分析方法
CN110175277B (zh) * 2019-05-07 2023-07-07 南京邮电大学 面向电商平台的农药信息采集方法
CN110175277A (zh) * 2019-05-07 2019-08-27 南京邮电大学 面向电商平台的农药信息采集方法
CN111488508A (zh) * 2020-04-10 2020-08-04 长春博立电子科技有限公司 一种支持多协议分布式高并发的互联网信息采集系统及方法
CN112163138A (zh) * 2020-09-11 2021-01-01 西南大学 一种基于网络爬虫的网购平台实现数据可视化的方法
CN112231093A (zh) * 2020-12-14 2021-01-15 北京智慧星光信息技术有限公司 基于代码模板和协程池的数据采集方法、系统及电子设备
CN113065055A (zh) * 2021-04-21 2021-07-02 平安国际智慧城市科技股份有限公司 新闻资讯抓取方法、装置、电子设备及存储介质
CN113065055B (zh) * 2021-04-21 2024-04-02 深圳赛安特技术服务有限公司 新闻资讯抓取方法、装置、电子设备及存储介质
CN114119147A (zh) * 2021-11-16 2022-03-01 浪潮卓数大数据产业发展有限公司 一种在线商品真实交易价格的获取方法及系统
DE202022103801U1 (de) 2022-07-07 2022-08-02 Ahmed Alemran Ein intelligentes Finanzverwaltungssystem für E-Commerce-Websites zur Analyse von Preisen und Gewinnen durch maschinelles Lernen
CN117807294A (zh) * 2024-02-28 2024-04-02 深圳市豪斯莱科技有限公司 一种多线程网络爬虫调度管理方法及系统
CN117807294B (zh) * 2024-02-28 2024-05-28 深圳市豪斯莱科技有限公司 一种多线程网络爬虫调度管理方法及系统

Similar Documents

Publication Publication Date Title
CN104050037A (zh) 一种基于指定电子商务网站的定向爬虫的实现方法
CN109669933B (zh) 交易数据智能处理方法、装置及计算机可读存储介质
CN101446971B (zh) 构建内容管理系统的方法及装置
CN106096056A (zh) 一种基于分布式的舆情数据实时采集方法和系统
Zhang et al. A video cloud platform combing online and offline cloud computing technologies
CN110007913A (zh) 可视化的数据处理流程设置方法、装置、设备及存储介质
CN102880607A (zh) 网络动态内容抓取方法及网络动态内容爬虫系统
CN102982050A (zh) 呈现基于时间的动作信息
CN104516982A (zh) 一种基于Nutch的Web信息提取方法和系统
CN101976235A (zh) 基于动态网页的可扩展的Word报告自动生成方法
CN109101519B (zh) 信息采集系统和异构信息融合系统
CN102902703A (zh) 一种面向网络敏感信息的截图取证与锁定回访的方法
CN103885764A (zh) 网络媒介信息展示系统、方法、装置和服务器
CN103177045A (zh) 文本解析方法及装置
CN102117331B (zh) 视频搜索方法及系统
CN107220297A (zh) 面向软件项目的多源异构数据自动收集方法及系统
CN109343831A (zh) 一种html组件的管理方法及装置
CN104156458A (zh) 一种信息的提取方法及装置
CN110889632A (zh) 一种公司形象提升系统的数据监测分析系统
CN1380621A (zh) 影视制作计算机管理系统
CN106354846A (zh) 基于大数据的新闻智能选稿方法及系统
CN1423217A (zh) 专利费用管理系统及方法
CN112861054B (zh) 网页处理方法、装置、计算机可读存储介质及电子设备
CN114841155A (zh) 主题内容智能聚合方法、装置、电子设备及存储介质
CN105787031A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140917