基于动易网站系统的自动采集软件的设计与实现

时间:2022-10-06 11:52:23

基于动易网站系统的自动采集软件的设计与实现

[摘 要] 目前许多政府机关,教育单位等都是以动易为系统内核制作的网站,但是,各单位由于地域上的关系,一般都是使用自己独立的网站服务器,这样就造成了本单位和下属单位网站之间的网站数据交互非常困难,成为一个可研究并急需解决的实际问题,基于上述原因,本文特别制作了动易网站数据自动采集工具。

[关键词] 动易 网站系统 自动采集软件

中图分类号:S611文献标识码:A 文章编号:

1 实现原理

利用VB编写程序,通过WEBBORWS控件,自动定时加载下属网站的相关网页,通过对页面自动进行分析,得到网页具体信息的标题和超级链接等数据,利用ADO技术直接写入本地的动易数据库。

2 动易数据库结构

动易数据库一般放在网站根目录下的database目录下,名称可自行定义,打开数据库后,主要的新闻数据表名称为PE_Article,它的结构如下:

3 下属单位采集页面的编写

下属单位网站中必须要放一个固定名称的具体页面文件caiji.asp

主要用来存放要采集的栏目的具体新闻条目信息,asp代码如下:

strHTML = GetTemplate(ChannelID, 1, 650)‘取得模板ID

Call ReplaceCommonLabel

strHTML = Replace(strHTML, "{$PageTitle}", SiteTitle & " >> " & PageTitle)

strHTML = Replace(strHTML, "{$ShowPath}", strNavPath)

strHTML = Replace(strHTML, "{$MenuJS}", GetMenuJS("", False))

strHTML = Replace(strHTML, "{$Skin_CSS}", GetSkin_CSS(0))

Set PE_Content = New Article

PE_Content.Init

strHtml = PE_Content.GetCustomFromTemplate(strHtml)

strHtml = PE_Content.GetPicFromTemplate(strHtml)

strHtml = PE_Content.GetListFromTemplate(strHtml)

strHtml = PE_Content.GetSlidePicFromTemplate(strHtml)

Response.Write strHtml

Set PE_Content = Nothing

Call CloseConn

%>

4 软件的具体实现

打开VB6,进行如下界面设计:程序主要引用了WEBBROWS控件和定时器控件,并且进行了ADO引用。

采集系统写入数据库核心代码为:

getdbstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Sitexu.asp" & ";" & "Persist Security Info=False;"

Set con = New ADODB.Connection

con.ConnectionString = getdbstr利用ADO打开数据库

con.Open

Set adodct = New ADODB.Recordset

Set adodct.ActiveConnection = con

adodct.Open "select * from PE_Article order by ArticleID desc"

Id = adodct!ArticleID

WebBrowser1.Navigate “下属单位网址/caiji.asp”

Set vtag = WebBrowser1.Document.getElementById("xu1")

Set vtag = WebBrowser1.Document.getElementById("xu1").getElementsByTagName("a")

zuozhe = xz(ii) + "" + Mid(vtag(i).Title, InStr(1, vtag(i).Title, "者:") + 2, InStr(1, vtag(i).Title, "¸更新时间") - InStr(1, vtag(i).Title, "者:") - 4)

对标题链接进行自动分析,得出标题名称和链接地址。

If adodct.State adStateClosed Then adodct.Close

adodct.Open "select * from PE_Article where ClassID=33 and LinkUrl='" & vtag(i).href & "'", con, 1, 3

Id = Id + 1

adodct.AddNew

adodct!ArticleID = Id

adodct!ChannelID = 1001

adodct!classid = 33相关栏目ID

adodct!Title = vtag(i).innerText

adodct!CopyFrom = xz(ii)

adodct!Inputer = xz(ii)

adodct!Author = zuozhe

adodct!Editor = xz(ii)

adodct!LinkUrl = vtag(i).href

adodct!Keyword = xz(ii)

adodct!UpdateTime = Right(vtag(i).Title, Len(vtag(i).Title) - InStr(1, vtag(i).Title, "¸更新时间") - 4)

adodct!CreateTime = Right(vtag(i).Title, Len(vtag(i).Title) - InStr(1, vtag(i).Title, "¸更新时间") - 4)

adodct!Status = 3adodct!Hits = 0

adodct!content = ""

adodct.Update更新数据库

程序编译后,放在本单位动易网站的数据库所在目录下,运行,即可自动定时采集下属单位网站信息。

5 结束语

此程序必须配合本单位的动易网站数据库系统及下属单位的网站采集页一齐使用,目前已成功应用于河北省玉田县教育局乡镇网站信息自动采集系统,具体效果请参看该局网站主页最下方的目标考核入口链接,网址为,欢迎您的访问查看。

自动采集效果图

注:文章内所有公式及图表请用PDF形式查看。

上一篇:大体积混凝土裂缝分析及施工技术控制研究 下一篇:强化混凝技术处理广州微污染水的研究