TA的每日心情 | 开心 2018-10-17 09:01 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
|
本帖最后由 ldlcau 于 2010-3-15 08:23 编辑
# }/ i4 T2 D4 E* ~) J" s# Y! C6 L9 w$ m3 ~3 g0 C
修改了三个文件 见附件baike-2010-3-10.rar
) j& y7 U/ z0 {& T2 N- ^$ L增加文件bk3.asp用于更新现有数据。设置更新的词条最少编辑次数,编辑次数(gxcs)超过此的则更新,请修改表baike添加字段ygx,类型int., p# H4 F9 U" @, e+ z: }& E8 I
表结构有变动,请按照建表语句来建表. j* {% j# N5 i: W% I
由于百度百科经常更换样式,下载百度百科可能会出现无法下载的现象,请修改bk2.asp。
) }; F+ Z+ q% b/ R4 ]5 }
9 A3 l) N1 z2 m7 S/ t3 ^2 @0 ?5 d. d0 _建表语句
# L9 H9 H+ L( \/ }CREATE TABLE [dbo].[baike] (
; \$ D6 ?/ K7 S [id] [int] IDENTITY (1, 1) NOT NULL ,+ L2 Q! p* I2 c+ O- h" K
[title] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
8 z3 U7 V7 g$ Y3 ~4 k& S [leibie] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
4 N' w( G! J* ]6 X% i' y [content] [text] COLLATE Chinese_PRC_CI_AS NULL ,( m Z& e8 B- R5 u# e( K' A
[gx] [smallint] NULL ,
" m: n1 C; k( @5 |1 v7 q [bid] [int] NULL ," W) |0 D# X' | q9 v3 O
[ispic2] [smallint] NULL ,, B2 T. S4 G0 p- U. g/ E* y% \2 O
[gxtime] [datetime] NULL ,
& y, q: \- H, b6 j0 w6 v8 W [bjtime] [datetime] NULL ,6 s: J6 b% E- X. h
[gxcs] [int] NULL ,5 \1 J2 Y- Q4 I U3 a* N
[bangzhu] [int] NULL ,, c$ [" ?7 ?7 l7 D- ]$ Y8 Q9 }$ I7 e
[ispic] [int] NULL ,
1 H! |. z& G3 P* w0 ~ [tz] [int] NULL ,2 Z/ r w# {3 i
[pid] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
K# V6 B5 P4 c" n8 M& V [yc] [int] NULL + ]) K, R9 ^$ M' i# {
[ygx] [int] NULL Q) t# Q6 I z. s I, g
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]& H; G, R/ ]$ N! L; T
修改了部分内容,发现运行中有错误的请重新下载.
2 b( ?7 @6 C/ i% p6 V* E3 o, h 支持批量文本导入,可以建立个人的百科。
9 `, K# O4 v; Q1 c6 P m, z1 b$ i
最后修改时间:2010-3-15
- {% X* M0 t. g; a% g0 x& ^- e( k5 S! T' j6 |
需要环境:sqlserver2000+iis / S, _$ P/ q z
下载更新百度百科, 硬盘空间最少6G,NTFS格式。网络环境:保证24小时不间断。(仅仅是个人数据库不需要)
+ Q- w @) Z- D) i5 ^% ?/ E! Z
8 a* g6 R; k, Z制作方法:
7 z* Y. G0 [+ \" r: b& s' r
' J. o+ @7 I8 O- H本程序除可以下载更新百度百科外,也支持批量导入文本文件,建立个人的数据库。7 [9 y" h h: q( _
一、建立两个网页服务器
. L; q/ L7 V, I' A Whttp://127.0.0.1 正常浏览网页所用的服务器+ i* D7 i! p q
http://127.0.0.1:111 更新数据的 iis服务器,注意在server服务器版操作系统才支持建立多个web服务器(仅仅是个人数据库不需要)
' a7 _. c# L- |) }& X( [" S都指向同一目录
6 e2 \3 }6 R) O& f0 dindex.asp 首页、浏览、添加、修改、检索
: U z9 t1 G$ e3 x Z9 nbk2.asp 或 index3.asp 更新百科数据文件(仅仅是个人数据库不需要,可以删除)/ j1 z% t4 D% m0 f
dsn.asp 数据库连接文件* x1 x0 u4 f! i7 Q: ^* L2 ^' J
js.xml 保存更新进度数据,注意ntfs下要设置为所有成员均可修改。2 V$ s# S4 ~9 S4 z
& Y* ?% O7 B4 X
二、建表
. @0 @8 O- v, h表名 baike 参见上面的建表语句
# m/ W" t4 ` D7 M! ~sql安装时验证方式要采用混合模式
5 m& T+ z1 r. T- Z9 k* I; ~1 J请注意一定要把数据库和日志设在ntfs分区,数据库大小不限,要保证剩余磁盘空间大于6G。& D8 p, J$ Z0 ], w- ]: H& T
数据库设置里设为自动收缩数据库文件。" r, Z$ h6 a3 S+ k" v- B7 G
(也可利用查询分析器导入baike.sql)
& f- B; l& S7 r3 `/ { e! M" Z( F- ]3 q
三、下载更新数据(仅仅是个人数据库不需要)
( S6 h: {% H i) R8 d( Q1 r. l# ^3 |1 uhttp://127.0.0.1:111/index3.asp更新数据,更新过程中请不要关闭index3.asp。 {9 i( v9 V( x l1 R t. K0 L6 P1 I
如果下载数据出错,请检查bk2.asp,使用response.end命令检查输出是否正确。
* c5 e+ A0 C- Z, M可以批量导入txt文件或htm文件,txt文件或htm文件放在网站txt目录下,可以一次性导入多条txt文件或htm文件,txt文件或htm文件的标题作为title,txt文件的内容写入content。导入前请用工具将文件名改为中文。
$ t( Q# z9 {/ C5 _- f0 z0 W9 s0 L! w
支持图片下载,需要下载图片时,将bk2.asp中的qt=0改为qt=1即可。
3 t3 _6 D. |% B) X
5 `2 t8 X- `8 u# A0 A四、导出txt m0 d" M. p% a( B9 U- A' D
选择导出到txt,选择用一条查询命令导出数据,
, D( V$ J2 \1 Q. o/ B! _输入查询语句:“ select title,content from baike where not(title like '%/%') ”(不含引号)
) B$ T+ S2 g" {- W0 {; R/ ]7 A下一步中,文件类型选ansi或者unicode,列分隔符选制表符,文本限定符选<无>。( C$ G& m8 m$ U$ j6 `7 u
点击转换,选择转换。点击转换选项,使用下面的转换语句:
- F8 r e- g; S' [Function Main()
) m. W6 c& ^, nDTSDestination("title") = replace(replace(trim(DTSSource("title")),chr(9),""),chr(10),"")&vbcrlf
5 f' c, O; W9 @: w: ODTSDestination("content") = replace(DTSSource("content"),"</>","")&vbcrlf&"</>" K9 G2 o. g8 B3 [ s, \2 X+ c
Main = DTSTransformStat_OK
$ S* C# X8 I' P9 H3 }6 j$ B6 B9 |. BEnd Function# C; x. |5 m% t, i W/ A1 ^
确定后导出。
' ?' J( B4 V$ w3 ~' W& i--------------
8 d, a3 n/ P8 E* w5 _------------$ L* r3 @4 m9 z) N; e! n1 o
导出带图片的内容方法8 d. I4 L$ R9 B. {( p7 h; u
在企业管理器图形界面执行6 h( I7 G* _' l6 w8 s% W
1、选择导出到txt,选择用一条查询命令导出数据,导出sql语句
+ z1 t$ _, X1 W9 a===================================) D. d! v! f& z0 E/ r# M; r: n: d- b
select title,bid,ispic,pid,content from baike where not(title like '%/%')0 o4 i7 Y" n! g( @; h
===================================
, A A3 y9 _' b% J, V! R- M2、
, d1 z% j5 D( w1 r" Z下一步中,文件类型选ansi或者unicode,列分隔符选制表符,文本限定符选<无>。, i) C5 M7 _ c) @$ O
点击转换,选择转换。点击转换选项,使用下面的转换语句: \" i; B$ A, ]" L n
=================================== |8 p* B( D( [6 K( P
Function Main()
- Q2 V! D( k* X" z/ B, A* zDTSDestination("title") = UTF2GB(Replace(Replace(trim(DTSSource("title")),chr(9),""),chr(10),""))&vbcrlf
0 o7 z' Y, X! B( UDTSDestination("content") =HTMLEncode6(DTSSource("content"),DTSSource("ispic"),DTSSource("bid"),DTSSource("pid"))&vbcrlf&"</>"1 p0 x; ]" K, p& U9 y0 H
Main = DTSTransformStat_OK' H* A# ^; {. C" L" m7 I: p( q3 M
End Function
5 I9 @2 j7 N/ F, Ifunction HTMLEncode6(fString,ispic,bid,pid)/ s5 {* x+ g4 U6 P# B
if isnull(fString) or fString="" then
8 c% i1 G& D0 \8 {- F) q4 G+ Y% q# ]HTMLEncode6 =" "
/ y8 d; W0 f' n# U% E5 J5 [5 g3 E6 Mexit function
9 t, \+ u! o2 ]end if
; X% Q& A0 q' ]' b9 R5 Bif isnull(ispic) or ispic="" then ispic=0* c: P/ D) G. [7 b9 w. }
if isnull(bid) or bid="" then bid=1
7 e3 D* @2 ^- n$ Uif isnull(pid) then pid=""1 o/ K8 x9 I* C ^7 ]! q& S- q" W3 G
fString=trim(fString)
1 q+ ~' @6 E9 h: Q4 QfString ="|||||"&fString
0 ?- X$ R' c# u5 i8 i0 L" s4 h7 \fString = Replace(fString, "|||||<br> <br>","")% Y; J/ F; l) m: e+ y
fString = Replace(fString, "|||||",""): E9 {7 V. e7 y- q. i$ T) X5 ]- o& Y
fString = Replace(fString, "</>", "")7 J; @/ \* a8 N8 G$ R
fString = Replace(fString, "<a href=#", "<A HREF=entry://#")
( P* t9 B! d- ]( A1 tfString = Replace(fString, " >", ">")
$ M; c0 {: x. H/ Z m" S9 cfString = Replace(fString, "<br> <br>","")* N- I$ _ X3 { f, u, m, m
fString = Replace(fString, "<br> <br>","<br>")
, P- U9 m. t8 pfString = Replace(fString, "<br><br>","<br>")3 X1 }* j, [# V! P% j- u" ~
if ispic=1 then
; t; c, d7 i# ?& H; K, @/ a: kfString ="<img src="&CHR(34)&"file:///down/"&int(trim(bid)/10000)&"/"&trim(bid)&".jpg"&CHR(34)&" border=0><br>"&fString
" K; y. Q6 b' c+ o1 F! {elseif ispic=2 then+ c2 ^- V) l) j+ J
fString ="<img src="&CHR(34)&"file:///down2/"&trim(pid)&".jpg"&CHR(34)&" border=0><br>"&fString7 L1 m6 q# u8 s5 [
end if5 Y# d9 Y1 d* w0 R% l0 P2 K
HTMLEncode6 = fString0 z6 }" b5 S. ]; j
end function4 L3 l% S9 A0 R, t: n" b
function UTF2GB(UTFStr)
" a0 n$ `) B: d& q5 }7 m! |8 WtempUTFStr=UTFStr
& e& A# h1 W1 M% r$ v1 K" j8 c" N: FUTFStr=replace(UTFStr,"&","&")+ h6 I. m _6 r0 j' J' \4 r
UTFStr=replace(UTFStr,"・","·")0 R/ m3 ~! [0 H' ^* Q3 m U
UTFStr=replace(UTFStr,"‧","·")6 @1 h% ]. p8 t$ ^5 v6 h
UTFStr=replace(UTFStr,"'","’")# h9 E! J' o9 r0 k0 i9 r
UTFStr=replace(UTFStr,"‎","")0 d7 `" `7 P5 X
if len(trim(UTFStr))>0 then
9 h1 }: X3 L3 z8 E5 xUTF2GB=UTFStr
1 ^& `% S5 o0 k/ U, nelse
4 M- W+ y& f& B" |9 PUTF2GB=tempUTFStr
' C: A) t" g$ E( L3 S, Q. cend if" K. e$ p4 E6 u
end function e2 C2 u0 E4 ~* `! j4 o' ~
===================================
A7 i# t! c/ h: x3.转换辞典
- ~# L) R% j0 K制作图片文件时将图片文件夹下的那个隐藏文件Thumbs.db文件删除; e. b: `! k" A- G* Z5 O2 X+ k0 B
在使用MdxBuilder制作词库时,将Data路径指向上面存放数据的目录,该目录中的( |5 P( F3 X3 N& e ^: B+ u
所有文件都会被压缩到后缀名为.mdd文件中,使用时该.mdd文件应当与.mdx文件在同一目录下0 r8 }" _8 ^/ \
) p4 t8 h9 g8 m' D: W7 `6 @" M- A! `% g五、转换mdict: K0 R8 O: w$ K
原始格式:选mdict(html)
3 ?+ B% ]9 Z: w( m( }% s$ ?3 I( f5 B5 r! b8 ?8 e* l
编码方式:; E2 k0 Y8 O% M, D m
文件类型ansi,编码方式选GBK5 V6 A, v& s, a. E! q! W/ k$ p% s
文件类型unicode,编码方式选utf-16% Q2 F \+ ?9 u7 \! N
即可0 ]1 L7 h$ B9 n
: V; {& f* q3 t. B/ {% S' ]: ?六、清除临时文件(仅仅是个人数据库不需要)( X5 W* Z9 S# F; ^3 n
更新数据时,会在系统盘windows/temp下产生临时ie文件,请定时删除3 k6 x! ?2 k/ j# O! e
( [# ] S! @; d! u, v5 Y七、收缩数据库日志文件(数据库不是太大没必要进行)+ W @% J$ R- ?) O9 w4 f
收缩数据库文件(如果不压缩,数据库的文件不会减小)' k1 L( h j$ H
查询管理器里执行3 T/ c8 ?0 ?- J; l3 E
DUMP TRANSACTION 库名 WITH NO_LOG
3 ^# g# [; Q' }5 s5 A0 H6 hBACKUP LOG 数据库名 WITH NO_LOG ; Z" \, I+ @3 x. i
然后
+ a. _$ F/ m$ S$ X2 P) k3 _企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
/ f+ v' |/ H3 ~4 ^--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。/ M# u6 {4 ]4 k5 L. F
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。" J- Q! J/ v/ |8 l
# Z1 X- V) g0 _2 a3 R& m八、导出时删除标题重复的数据
* U3 d. H3 _) iselect title,content from baike where id in(SELECT MAX(id) AS id FROM baike GROUP BY title)
5 ~. _) Z( {8 K" M; p6 g
& f" @7 A' b) W( b5 k1 q6 n/ G7 |[ 本帖最后由 ldlcau 于 2009-1-6 10:11 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
1
查看全部评分
-
|