📄 admin_itemmodify5.asp
字号:
End Sub
'==================================================
'过程名:GetTest
'作 用:采集测试
'参 数:无
'==================================================
Sub GetTest()
SqlItem="Select * from Item Where ItemID=" & ItemID
Set RsItem=server.CreateObject("adodb.recordset")
RsItem.Open SqlItem,ConnItem,1,1
If RsItem.Eof And RsItem.Bof Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>参数错误,找不到该项目</li>"
Else
LoginType=RsItem("LoginType")
LoginUrl=RsItem("LoginUrl")
LoginPostUrl=RsItem("LoginPostUrl")
LoginUser=RsItem("LoginUser")
LoginPass=RsItem("LoginPass")
LoginFalse=RsItem("LoginFalse")
ListStr=RsItem("ListStr")
LsString=RsItem("LsString")
LoString=RsItem("LoString")
ListPaingType=RsItem("ListPaingType")
LPsString=RsItem("LPsString")
LPoString=RsItem("LPoString")
ListPaingStr1=RsItem("ListPaingStr1")
ListPaingStr2=RsItem("ListPaingStr2")
ListPaingID1=RsItem("ListPaingID1")
ListPaingID2=RsItem("ListPaingID2")
ListPaingStr3=RsItem("ListPaingStr3")
HsString=RsItem("HsString")
HoString=RsItem("HoString")
HttpUrlType=RsItem("HttpUrlType")
HttpUrlStr=RsItem("HttpUrlStr")
TsString=RsItem("TsString")
ToString=RsItem("ToString")
CsString=RsItem("CsString")
CoString=RsItem("CoString")
DateType=RsItem("DateType")
DsString=RsItem("DsString")
DoString=RsItem("DoString")
AuthorType=RsItem("AuthorType")
AsString=RsItem("AsString")
AoString=RsItem("AoString")
AuthorStr=RsItem("AuthorStr")
CopyFromType=RsItem("CopyFromType")
FsString=RsItem("FsString")
FoString=RsItem("FoString")
CopyFromStr=RsItem("CopyFromStr")
KeyType=RsItem("KeyType")
KsString=RsItem("KsString")
KoString=RsItem("KoString")
KeyStr=RsItem("KeyStr")
NewsPaingType=RsItem("NewsPaingType")
NPsString=RsItem("NPsString")
NPoString=RsItem("NPoString")
NewsPaingStr=RsItem("NewsPaingStr")
NewsPaingHtml=RsItem("NewsPaingHtml")
UpDateType=RsItem("UpDateType")
End If
RsItem.Close
Set RsItem=Nothing
If LoginType=1 Then
If LoginUrl="" or LoginPostUrl="" or LoginUser="" Or LoginPass="" Or LoginFalse="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>您要采集的网站需要登录!请将登录信息填写完整</li>"
End If
End If
If LsString="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>列表开始标记不能为空!</li>"
End If
If LoString="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>列表结束标记不能为空!</li>"
End If
If ListPaingType=0 Or ListPaingType=1 Then
If ListStr="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>列表索引页不能为空!</li>"
End If
If ListPaingType=1 Then
If LPsString="" Or LPoString="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>索引分页开始、结束标记不能为空!</li>"
End If
End If
If ListPaingStr1<>"" And Len(ListPaingStr1)<15 Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>索引分页重定向设置不正确!</li>"
End IF
ElseIf ListPaingType=2 Then
If ListPaingStr2="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>批量生成原字符串不能为空!</li>"
End If
If IsNumeric(ListPaingID1)=False or IsNumeric(ListPaingID2)=False Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>批量生成的范围只能是数字!</li>"
Else
ListPaingID1=Clng(ListPaingID1)
ListPaingID2=Clng(ListPaingID2)
If ListPaingID1=0 And ListPaingID2=0 Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>批量生成的范围不正确!</li>"
End If
End If
ElseIf ListPaingType=3 Then
If ListPaingStr3="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>索引分页不能为空!</li>"
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>请选择索引分页类型</li>"
End If
If HsString="" or HoString="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>链接开始/结束标记不能为空!</li>"
End If
If FoundErr<>True And Action<>"SaveEdit" Then
Select Case ListPaingType
Case 0,1
ListUrl=ListStr
Case 2
ListUrl=Replace(ListPaingStr2,"{$ID}",CStr(ListPaingID1))
Case 3
If Instr(ListPaingStr3,"|")> 0 Then
ListUrl=Left(ListPaingStr3,Instr(ListPaingStr3,"|")-1)
Else
ListUrl=ListPaingStr3
End If
End Select
End If
If FoundErr<>True And Action<>"SaveEdit" And LoginType=1 Then
LoginData=UrlEncoding(LoginUser & "&" & LoginPass)
LoginResult=PostHttpPage(LoginUrl,LoginPostUrl,LoginData)
If Instr(LoginResult,LoginFalse)>0 Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>登录网站时发生错误,请确认登录信息的正确性!</li>"
End If
End If
If FoundErr<>True And Action<>"SaveEdit" Then
ListCode=GetHttpPage(ListUrl)
If ListCode<>"$False$" Then
ListCode=GetBody(ListCode,LsString,LoString,False,False)
If ListCode<>"$False$" Then
NewsArrayCode=GetArray(ListCode,HsString,HoString,False,False)
If NewsArrayCode<>"$False$" Then
If Instr(NewsArrayCode,"$Array$")>0 Then
NewsArray=Split(NewsArrayCode,"$Array$")
If HttpUrlType=1 Then
NewsUrl=Trim(Replace(HttpUrlStr,"{$ID}",NewsArray(0)))
Else
NewsUrl=Trim(DefiniteUrl(NewsArray(0),ListUrl))
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>只发现一个有效链接?:" & NewsArrayCode & "</li>"
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在获取链接列表时出错。</li>"
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在截取列表时发生错误。</li>"
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在获取:" & ListUrl & "网页源码时发生错误。</li>"
End If
End If
If FoundErr<>True Then
NewsCode=GetHttpPage(NewsUrl)
If NewsCode<>"$False$" Then
Title=GetBody(NewsCode,TsString,ToString,False,False)
Content=GetBody(NewsCode,CsString,CoString,False,False)
If Title="$False$" or Content="$False$" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在截取新闻标题/正文的时候发生错误:" & NewsUrl & "</li>"
Else
Title=FpHtmlEnCode(Title)
Title=dvhtmlencode(Title)
'新闻分页
If NewsPaingType=1 Then
NewsPaingNext=GetPaing(NewsCode,NPsString,NPoString,False,False)
Do While NewsPaingNext<>"$False$"
If NewsPaingStr="" or Isnull(NewsPaingStr)=True Then
NewsPaingNext=DefiniteUrl(NewsPaingNext,NewsUrl)
Else
NewsPaingNext=Replace(NewsPaingStr,"{$ID}",NewsPaingNext)
End If
If NewsPaingNext="" or NewsPaingNext="$False$" Then Exit Do
NewsPaingNextCode=GetHttpPage(NewsPaingNext)
ContentTemp=GetBody(NewsPaingNextCode,CsString,CoString,False,False)
If ContentTemp="$False$" Then
Exit Do
Else
Content=Content & NewsPaingHtml & ContentTemp
NewsPaingNext=GetPaing(NewsPaingNextCode,NPsString,NPoString,False,False)
End If
Loop
End If
If UpDateType=0 Then
UpDateTime=Now()
ElseIf UpDateType=1 Then
If DateType=0 then
UpDateTime=Now()
Else
UpDateTime=GetBody(NewsCode,DsString,DoString,False,False)
UpDateTime=FpHtmlEncode(UpDateTime)
If IsDate(UpDateTime)=True Then
UpDateTime=CDate(UpDateTime)
Else
UpDateTime=Now()
End If
End If
ElseIf UpDateType=2 Then
Else
UpDateTime=Now()
End If
'作者
If AuthorType=1 Then
Author=GetBody(NewsCode,AsString,AoString,False,False)
ElseIf AuthorType=2 Then
Author=AuthorStr
End If
If Author="$False$" Or Trim(Author)="" Then
Author="佚名"
Else
Author=FpHtmlEnCode(Author)
End If
'来源
If CopyFromType=1 Then
CopyFrom=GetBody(NewsCode,FsString,FoString,False,False)
ElseIf CopyFromType=2 Then
CopyFrom=CopyFromStr
End If
If CopyFrom="$False$" Or Trim(CopyFrom)="" Then
CopyFrom="不详"
Else
CopyFrom=FpHtmlEnCode(CopyFrom)
End If
If KeyType=0 Then
Key=Title
Key=CreateKeyWord(Key,2)
ElseIf KeyType=1 Then
Key=GetBody(NewsCode,KsString,KoString,False,False)
Key=FpHtmlEnCode(Key)
Key=CreateKeyWord(Key,2)
ElseIf KeyType=2 Then
Key=FpHtmlEnCode(Key)
End If
If Key="$False$" Or Trim(Key)="" Then
Key="南国都市"
End If
End If
Else
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在获取源码时发生错误:"& NewsUrl &"</li>"
End If
End If
If FoundErr<>True Then
Call GetFilters
Call Filters
Content=ReplaceSaveRemoteFile(Content,strInstallDir,strChannelDir,False,NewsUrl)
End If
End Sub
'==================================================
'过程名:GetFilters
'作 用:提取过滤信息
'参 数:无
'==================================================
Sub GetFilters()
SqlF ="Select * from Filters Where Flag=True And (PublicTf=True Or ItemID=" & ItemID & ") order by FilterID ASC"
Set RSF=connItem.Execute(SqlF)
If RsF.Eof And RsF.Bof Then
Arr_Filters=""
Else
Arr_Filters=RsF.GetRows()
End If
RsF.Close
Set RsF=Nothing
End Sub
'==================================================
'过程名:Filters
'作 用:过滤
'==================================================
Sub Filters()
If IsArray(Arr_Filters)=False Then
Exit Sub
End if
For Filteri=0 to Ubound(Arr_Filters,2)
FilterStr=""
If Arr_Filters(1,Filteri)=ItemID Or Arr_Filters(10,Filteri)=True Then
If Arr_Filters(3,Filteri)=1 Then'标题过滤
If Arr_Filters(4,Filteri)=1 Then
Title=Replace(Title,Arr_Filters(5,Filteri),Arr_Filters(8,Filteri))
ElseIf Arr_Filters(4,Filteri)=2 Then
FilterStr=GetBody(Title,Arr_Filters(6,Filteri),Arr_Filters(7,Filteri),True,True)
Do While FilterStr<>"$False$"
Title=Replace(Title,FilterStr,Arr_Filters(8,Filteri))
FilterStr=GetBody(Title,Arr_Filters(6,Filteri),Arr_Filters(7,Filteri),True,True)
Loop
End If
ElseIf Arr_Filters(3,Filteri)=2 Then'正文过滤
If Arr_Filters(4,Filteri)=1 Then
Content=Replace(Content,Arr_Filters(5,Filteri),Arr_Filters(8,Filteri))
ElseIf Arr_Filters(4,Filteri)=2 Then
FilterStr=GetBody(Content,Arr_Filters(6,Filteri),Arr_Filters(7,Filteri),True,True)
Do While FilterStr<>"$False$"
Content=Replace(Content,FilterStr,Arr_Filters(8,Filteri))
FilterStr=GetBody(Content,Arr_Filters(6,Filteri),Arr_Filters(7,Filteri),True,True)
Loop
End If
End If
End If
Next
End Sub
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -