翻旧账,自己参加工作一年时写的设计文档

看着曾经自己写的文档,一丝笑意涌过心头。一分是为当时稚嫩的设计,一分是为当时入神入微,矜矜业业的态度。


这个设计是一个系统的数据抓取部分的设计,如果现在让我设计,肯定完全是另一个样。此系统早已不再运行,所以可以放心的拿出来,仅博一笑。



XXXX站点监控——详细信息爬虫设计

版本:V0.1

作者:XX

时间:2010-9-13

需求

根据视频title及页面URL,到具体网页中抓取视频各项属性及信息。

 

功能需求点

概述

输入

提供webservice接口供主控调用,异步启动爬虫任务。

输出

1.       在正常接收、启动任务后立即给主控返回接收成功。

2.       在完成任务/任务失败后调用主控提供的回调接口。

3.       抓取成功后,将抓取数据保存至数据库。

错误处理

抓取异常情况下,应该将错误原因汇报给主控,并记录日志。

并发性需求

模块支持多线程并发调用。

 

 

实际情况调研

根据各XXXX网站HTML源码分析,在界面/结构上基本相同,但在不同网站、或者同一网站部同视频间存在若干细微的“版本”差异,所以需要在开发过程中,制定良好的爬取方案以适应各站点视频页面上的变化。

接口设计

使用WebService接口,SOAP协议。

 

l  版本

http://xxxxx/netvideo/bokecc/vinfoant/version?wsdl

INTPUT:NULL

 

OUTPUT:当前版本

如 0.1

 

 

 

l  爬取

http://xxxxx/netvideo/bokecc/vinfoant/run?wsdl

 

INPUT:


参数

描述

类型

备注

dbip

连接数据库IP

String

 

dbport

连接数据库端口

Integer

 

dbname

数据库名

String

 

dbuser

数据库用户名

String

 

dbpw

数据库密码

String

 

videoId

需爬取的视频id

Integer

 

sessionId

任务id

Integer

 

timeout

超时时间

Integer

 

callbackAddr

回调地址

String

任务完成之后调用的地址

 

OUTPUT:

Responese(WebService调用同步返回):

Id

描述

0

接受成功

-1

主控身份错误,禁止进入

-2

数据库连接失败

 

Callback(WebService调用异步返回):


参数

描述

类型

备注

sessionId

任务id

Integer

 

status

任务完成状态

Integer

0 成功

-1 网络情况异常

-2 正则表达式匹配错误

 

 

 

 

 

 

 

 

 


 

流程设计

1.  爬取任务整体流程

【无法贴图】

 

2.  内容匹配流程

【无法贴图】

 

日志设计

日志条目

级别

记录信息

WebService接口被调用

Info

调用方IP及各接口参数

主控身份校验失败

Warn

调用方IP

开始建立/更新数据库连接池

Info

数据库参数

数据库连接失败

Error,Notify

失败原因

数据库连接成功

Info

 

开始启动爬虫任务

Debug

 

开始抓取网页

Info

URL

一次网页抓取超时

Warn

当前重试次数

一次网页抓取异常

Warn

异常原因

重试范围内网页抓取失败

Error,Notify

 

网页抓取成功

Debug

 

开始内容匹配

Info

 

正则表达式匹配失败

Error,Notify

失败字段、失败原因

正则表达式匹配成功

Debug

 

开始更新数据库

Info

 

SQL操作

Debug

SQL语句

更新数据库完成

Debug

 

写数据库异常

Error,Notify

当前执行的SQL语句,异常原因

任务成功

Info

 

技术选型

开发平台:  windowsXP

部署平台:  跨平台

编程语言:python2.5

IDE+plug-in:MyEclipse 7.0 + pydev

 

具体使用的python技术:

功能

技术选型

网页抓取

urllib2

内容解析,正则表达

re

WebService

ZSI2.0

SOAP协议

SOAPpy(ZSI依赖)

XML

pyXML(ZSI依赖)

Web服务器

ZSI自带SOAP SERVER 或Apache

发布、部署

Windows平台:py2exe

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值