CN104462580B - 基于直线生成算法的爬虫方法及爬虫系统 - Google Patents
基于直线生成算法的爬虫方法及爬虫系统 Download PDFInfo
- Publication number
- CN104462580B CN104462580B CN201410839970.0A CN201410839970A CN104462580B CN 104462580 B CN104462580 B CN 104462580B CN 201410839970 A CN201410839970 A CN 201410839970A CN 104462580 B CN104462580 B CN 104462580B
- Authority
- CN
- China
- Prior art keywords
- generating algorithm
- url
- point
- data
- straight line
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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 Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于直线生成算法的爬虫方法及爬虫系统,爬虫方法包括以下步骤:S1、初始化URL索引;S2、采用直线生成算法进行程序动作打包;S3、使用参数构造URL列表;S4、分析网页页面并进行网页数据抓取。本发明通过将直线方程式算法运用至网络爬虫结构,可以提高爬虫的数据读取速度,减少数据传输过程中的时间,提高搜索速度。
Description
技术领域
本发明涉及一种基于直线生成算法的爬虫方法及爬虫系统。
背景技术
在万维网飞速发展的网络背景下,搜索引擎在人们的生活工作中无疑扮演着重要的角色,而网络爬虫则是搜索引擎技术的最基础部分。
在搜索引擎成为主流检索工具的今天,互联网上的网络爬虫各式各样,但爬虫爬取网页的基本步骤大致相同:
1)人工给定一个URL(统一资源定位符)作为入口,从这里开始爬取。
万维网的可视图呈蝴蝶型,网络爬虫一般从蝴蝶型左边结构出发。这里有一些门户网站的主页,而门户网站中包含大量有价值的链接。
2)用运行队列和完成队列来保存不同状态的链接。
对于大型数据量而言,内存中的队列是不够的,通常采用数据库模拟队列。用这种方法既可以进行海量的数据抓取,还可以拥有断点续抓功能。
3)线程从运行队列读取队首URL,如果存在,则继续执行,反之则停止爬取。
4)每处理完一个URL,将其放入完成队列,防止重复访问。
5)每次抓取网页之后分析其中的URL(URL是字符串形式,功能类似指针),将经过过滤的合法链接写入运行队列,等待提取。
6)重复步骤3)、4)、5)。
传统的爬虫逻辑的算法流程图如图1所示,通过传统的爬虫逻辑与算法,效率十分低下,运行过程中也存在着占内存的问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中传统的爬虫逻辑与算法效率低下、运行过程中占内存的缺陷,提供一种基于直线生成算法的爬虫方法及爬虫系统。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种基于直线生成算法的爬虫方法,其特点在于,包括以下步骤:
S1、初始化URL索引;
S2、采用直线生成算法进行程序动作打包;
S3、使用参数构造URL列表;
S4、分析网页页面并进行网页数据抓取。
较佳地,步骤S2包括:
S21、将网页数据虚拟为二维坐标系中的数据点;
S22、选定一URL生成点及一数据结束点;
S23、采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线;
步骤S4中基于步骤S23中虚拟出的直线进行网页数据抓取。
较佳地,所述直线生成算法为两步算法。
本发明的目的在于还提供了一种基于直线生成算法的爬虫系统,其特点在于,包括:
一初始化模块,用于初始化URL索引;
一打包模块,用于采用直线生成算法进行程序动作打包;
一列表构造模块,用于使用参数构造URL列表;
一抓取模块,用于分析网页页面并进行网页数据抓取。
较佳地,所述打包模块包括一数据点虚拟单元、一数据点选定单元以及一直线虚拟单元;所述数据点虚拟单元用于将网页数据虚拟为二维坐标系中的数据点,所述数据点选定单元用于选定一URL生成点及一数据结束点,所述直线虚拟单元用于采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线;
所述抓取单元用于基于所述直线虚拟单元虚拟出的直线进行网页数据抓取。
较佳地,所述直线生成算法为两步算法。
本发明的积极进步效果在于:本发明通过将直线方程式算法运用至网络爬虫结构,可以提高爬虫的数据读取速度,减少数据传输过程中的时间,提高搜索速度。
附图说明
图1为传统的爬虫逻辑的算法流程图。
图2为本发明一实施例的基于直线生成算法的爬虫方法的流程图。
图3为本发明一实施例的基于直线生成算法的爬虫方法中程序动作打包步骤的流程图。
图4为本发明一实施例的基于直线生成算法的爬虫方法中直线在点阵设备上的示意图。
图5为本发明一实施例的基于直线生成算法的爬虫方法中两步算法的示意图。
图6为本发明一实施例的基于直线生成算法的爬虫系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
如图2所示,本发明的基于直线生成算法的爬虫方法包括以下步骤:
步骤101、初始化URL索引。
步骤102、采用直线生成算法进行程序动作打包。
步骤103、使用参数构造URL列表。
步骤104、分析网页页面并进行网页数据抓取。
如图3所示,程序动作打包步骤具体包括:
步骤1021、将网页数据虚拟为二维坐标系中的数据点。
步骤1022、选定一URL生成点及一数据结束点。
步骤1023、采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线。
而在步骤104中则基于步骤1023中虚拟出的直线进行网页数据抓取。
在本发明中将直线生成算法运用到了网络爬虫结构中,在数学范畴内的直线是由没有宽度的点组成的集合,但是在计算机图形学的范畴内,所有的图形包括直线都是输出或显示在点阵设备上的,被成为点阵图形或光栅图形。以显示器为例,现实中常见的显示器(包括CRT(阴极射线管)显示器和液晶显示器)都可以看成由各种颜色和灰度值的像素点组成的象素矩阵,这些点是有大小的,而且位置固定,因此只能近似的显示各种图形,直线在点阵设备上的表现形式参见图4。
计算机图形学中的直线生成算法,其实包含了两层意思,一层是在解析几何空间中根据坐标构造出平面直线,另一层就是在光栅显示器之类的点阵设备上输出一个最逼近于图形的象素直线,而这就是常说的光栅图形扫描转换。本发明中的直线生成算法具体为两步算法,两步算法是在生成直线的过程中,每次判断都生成两个点的直线生成算法,本实施例的两步算法的示意图具体参见图5,以图5为例,首先将网页数据虚拟为相应的坐标点(即图5中的P、A、B、C、D、E),其中默认P点为URL生成点,E点为数据结束点,若按照传统的爬虫逻辑,需要依次从点对点判断逻辑并进行索引抓取,具体路径为以下几种情况:
1、P-A-B-C-E
2、P-A-D-C-E
3、P-A-B-C-D-E
4、P-A-D-E
以上几种情况为原始的爬虫逻辑,可见采用传统的爬虫逻辑需要依次遍历各个点,效率低且占内存。
而本发明的直线生成算法则可以在P点和E点之间虚拟出一条直线,或者在点与点之间虚拟直线,通过线连接点的方式减少运算步骤,增加运算效率。本发明的具体路径依次如下:
1、P-E
2、P-B-E
3、P-D-E……
本实施例还要求保护一种基于直线生成算法的爬虫系统,如图6所示,所述爬虫系统包括一初始化模块1、一打包模块2、一列表构造模块3及一抓取模块4,所述初始化模块1用于初始化URL索引;所述打包模块2用于采用直线生成算法进行程序动作打包;所述列表构造模块3用于使用参数构造URL列表;所述抓取模块4用于分析网页页面并进行网页数据抓取。其中,所述打包模块2包括一数据点虚拟单元21、一数据点选定单元22以及一直线虚拟单元23;所述数据点虚拟单元21用于将网页数据虚拟为二维坐标系中的数据点,所述数据点选定单元22用于选定一URL生成点及一数据结束点,所述直线虚拟单元23用于采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线;所述抓取单元4则基于所述直线虚拟单元23虚拟出的直线进行网页数据抓取。其中,所述直线生成算法为两步算法。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (5)
1.一种基于直线生成算法的爬虫方法,其特征在于,包括以下步骤:
S1、初始化URL索引;
S2、采用直线生成算法进行程序动作打包;
S3、使用参数构造URL列表;
S4、分析网页页面并进行网页数据抓取;
步骤S2包括:
S21、将网页数据虚拟为二维坐标系中的数据点;
S22、选定一URL生成点及一数据结束点;
S23、采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线;
步骤S4中基于步骤S23中虚拟出的直线进行网页数据抓取。
2.如权利要求1所述的爬虫方法,其特征在于,所述直线生成算法为两步算法。
3.一种基于直线生成算法的爬虫系统,其特征在于,包括:
一初始化模块,用于初始化URL索引;
一打包模块,用于采用直线生成算法进行程序动作打包;
一列表构造模块,用于使用参数构造URL列表;
一抓取模块,用于分析网页页面并进行网页数据抓取。
4.如权利要求3所述的爬虫系统,其特征在于,所述打包模块包括一数据点虚拟单元、一数据点选定单元以及一直线虚拟单元;所述数据点虚拟单元用于将网页数据虚拟为二维坐标系中的数据点,所述数据点选定单元用于选定一URL生成点及一数据结束点,所述直线虚拟单元用于采用直线生成算法在所述URL生成点及所述数据结束点之间虚拟一条直线;
所述抓取单元用于基于所述直线虚拟单元虚拟出的直线进行网页数据抓取。
5.如权利要求4所述的爬虫系统,其特征在于,所述直线生成算法为两步算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410839970.0A CN104462580B (zh) | 2014-12-24 | 2014-12-24 | 基于直线生成算法的爬虫方法及爬虫系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410839970.0A CN104462580B (zh) | 2014-12-24 | 2014-12-24 | 基于直线生成算法的爬虫方法及爬虫系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462580A CN104462580A (zh) | 2015-03-25 |
CN104462580B true CN104462580B (zh) | 2017-09-19 |
Family
ID=52908615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410839970.0A Active CN104462580B (zh) | 2014-12-24 | 2014-12-24 | 基于直线生成算法的爬虫方法及爬虫系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462580B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN101902438A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种自动识别网页爬虫的方法和装置 |
CN103294732A (zh) * | 2012-03-05 | 2013-09-11 | 富士通株式会社 | 网页抓取方法及爬虫 |
CN103714140A (zh) * | 2013-12-23 | 2014-04-09 | 北京锐安科技有限公司 | 一种基于主题网络爬虫的搜索方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094137A1 (en) * | 2005-12-22 | 2009-04-09 | Toppenberg Larry W | Web Page Optimization Systems |
US7987173B2 (en) * | 2009-08-25 | 2011-07-26 | Vizibility Inc. | Systems and methods of handling internet spiders |
-
2014
- 2014-12-24 CN CN201410839970.0A patent/CN104462580B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫系统 |
CN101902438A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种自动识别网页爬虫的方法和装置 |
CN103294732A (zh) * | 2012-03-05 | 2013-09-11 | 富士通株式会社 | 网页抓取方法及爬虫 |
CN103714140A (zh) * | 2013-12-23 | 2014-04-09 | 北京锐安科技有限公司 | 一种基于主题网络爬虫的搜索方法及装置 |
Non-Patent Citations (2)
Title |
---|
"直线生成算法在飞机座舱全罗盘画面绘制中的应用";江修 等,;《计算机辅助设计与图形学学报》;20031130(第11期);第1448-1451 * |
"网络爬虫的优化策略探略";李志义;《现代情报》;20111031(第10期);第31-35页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104462580A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190266435A1 (en) | Method and device for extracting information in histogram | |
CN107239491A (zh) | 用于实现用户行为追踪的方法、设备、浏览器及电子设备 | |
CN107851443A (zh) | 语音活动检测 | |
US20130031461A1 (en) | Detecting repeat patterns on a web page | |
CN102306174B (zh) | 一种基于网页元素与用户进行互动的方法与设备 | |
CN104598103B (zh) | 一种页面中处理图形的方法和装置 | |
JP6005464B2 (ja) | 連想メモリ視覚的評価ツール | |
CN105512265A (zh) | 一种通过图形展示数据的方法及装置 | |
CN104239206B (zh) | 网页测试方法和装置 | |
JP7014782B2 (ja) | 自動着色方法、自動着色システム及び自動着色装置 | |
CN104866318A (zh) | 一种多窗口中标签页的展示方法及装置 | |
CN107977456A (zh) | 一种基于多任务深度网络的多源大数据分析方法 | |
CN110334719A (zh) | 一种提取遥感影像中建筑物图像的方法及系统 | |
CN110490232A (zh) | 训练文字行方向预测模型的方法、装置、设备、介质 | |
US11321524B1 (en) | Systems and methods for testing content developed for access via a network | |
CN105869199A (zh) | 用于处理动画的装置和方法 | |
CN104156725B (zh) | 一种新的基于笔画段间角度的汉字笔画组合方法 | |
CN110672072A (zh) | 一种用于裂隙岩体结构的信息多元解译与表征方法 | |
CN104484481B (zh) | 票务订单的数据匹配方法、装置及系统 | |
US20220392242A1 (en) | Method for training text positioning model and method for text positioning | |
CN109753985A (zh) | 视频分类方法及装置 | |
CN106484990A (zh) | 一种发动机试验数据三维瀑布图重建、显示及分析方法 | |
CN107944374A (zh) | 视频数据中特定对象检测方法及装置、计算设备 | |
CN104462580B (zh) | 基于直线生成算法的爬虫方法及爬虫系统 | |
CN106920270A (zh) | 动画处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160205 Address after: 200335 Shanghai city Changning District Admiralty Road No. 968 Building No. 16 10 floor Applicant after: SHANGHAI XIECHENG BUSINESS CO., LTD. Address before: 200335 Shanghai City, Changning District Fuquan Road No. 99, Ctrip network technology building Applicant before: Ctrip computer technology (Shanghai) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |