📄 admin_itemcollecscreen.asp
字号:
<!--#include file="inc/conn.asp"-->
<!--#include file="inc/function.asp"-->
<!--#include file="inc/ubbcode.asp"-->
<!--#include file="inc/clsCache.asp"-->
<%
'传递变量:ItemNum--项目
' ListNum--列表
' NewsSuccesNum--成功采集的信息数量
' NewsFalseNum--失败采集的信息数量
' ImagesNum----图片数目
' ListPaingNext--列表分页
Dim ItemNum,ListNum,NewsNum,PaingNum,NewsSuccesNum,NewsFalseNum
Dim Rs,Sql,RsItem,SqlItem,FoundErr,ErrMsg,ItemEnd,ListEnd,NewsEnd,PaingEnd
'项目变量
Dim ItemID,ItemName,ChannelID,strChannelDir,ClassID,SpecialID,LoginType,LoginUrl,LoginPostUrl,LoginUser,LoginPass,LoginFalse
Dim ListStr,LsString,LoString,ListPaingType,LPsString,LPoString,ListPaingStr1,ListPaingStr2,ListPaingID1,ListPaingID2,ListPaingStr3,HsString,HoString,HttpUrlType,HttpUrlStr
Dim TsString,ToString,CsString,CoString,DateType,DsString,DoString,AuthorType,AsString,AoString,AuthorStr,CopyFromType,FsString,FoString
Dim CopyFromStr,KeyType,KsString,KoString,KeyStr,NewsPaingType,NPsString,NpoString,NewsPaingStr,NewsPaingHtml
Dim ItemCollecDate,PaginationType,MaxCharPerPage,ReadLevel,Stars,ReadPoint,Hits,UpDateType,UpDateTime,IncludePicYn,DefaultPicYn,OnTop,Elite,Hot
Dim SkinID,TemplateID,Script_Iframe,Script_Object,Script_Script,Script_Div,Script_Class,Script_Span,Script_Img,Script_Font,Script_A,Script_Html,CollecListNum,CollecNewsNum,Passed,SaveFiles,CollecOrder,LinkUrlYn,InputerType,Inputer,EditorType,Editor,ShowCommentLink
'过滤变量
Dim Arr_Filters,i_Filter,FilterStr,SqlF,RsF,Filteri
'采集相关的变量
Dim ContentTemp,NewsPaingNext,NewsPaingNextCode,Arr_i,NewsUrl,NewsCode
'信息保存变量
Dim ArticleID,Title,Content,Author,CopyFrom,Key,IncludePic,UploadFiles,DefaultPicUrl
'其它变量
Dim LoginData,LoginResult,OrderTemp
Dim Arr_Item,Arr_Other,CollecTest,Content_View,CacheTemp,CollecNewsAll
'历史记录
Dim Arr_Histrolys,His_HistrolyID,His_Title,His_CollecDate,His_Result,His_Repeat,His_i
'执行时间变量
Dim StartTime,OverTime
'图片统计
Dim Arr_Images,ImagesNum,ImagesNumAll
'列表
Dim ListUrl,ListCode,ListUrlArray,NewsArrayCode,NewsArray,ListArray,ListPaingNext,ListPaingTemp
Dim strInstallDir
'获得动易安装文件夹
strInstallDir=trim(request.ServerVariables("SCRIPT_NAME"))
strInstallDir=left(strInstallDir,instrrev(lcase(strInstallDir),"/")-1)
strInstallDir=left(strInstallDir,instrrev(lcase(strInstallDir),"/"))
CacheTemp=Lcase(trim(request.ServerVariables("SCRIPT_NAME")))
CacheTemp=left(CacheTemp,instrrev(CacheTemp,"/"))
CacheTemp=replace(CacheTemp,"\","_")
CacheTemp=replace(CacheTemp,"/","_")
CacheTemp="ansir" & CacheTemp
CollecNewsNum=0
ArticleID=0
ItemNum=Clng(Trim(Request("ItemNum")))
ListNum=Clng(Trim(Request("ListNum")))
NewsSuccesNum=Clng(Trim(Request("NewsSuccesNum")))
NewsFalseNum=Clng(Trim(Request("NewsFalseNum")))
ImagesNumAll=Trim(Request("ImagesNumAll"))
ListPaingNext=Trim(Request("ListPaingNext"))
If ImagesNumAll="" Then
ImagesNumAll=0
Else
ImagesNumAll=Clng(ImagesNumAll)
End If
FoundErr=False
ItemEnd=False
ListEnd=False
Call SetCache
If ItemEnd<>True Then
If (ItemNum-1)>Ubound(Arr_Item,2) then
ItemEnd=True
Else
Call SetItems()
End If
End If
If ItemEnd<>True Then
If ListPaingType=0 Then
If ListNum=1 Then
ListUrl=ListStr
Else
ListEnd=True
End If
ElseIf ListPaingType=1 Then
If ListNum=1 Then
ListUrl=ListStr
Else
If ListNum>CollecListNum And CollecListNum<>0 Then
ListEnd=True
Else
If ListPaingNext="" or ListPaingNext="$False$" Then
ListEnd=True
Else
ListPaingNext=Replace(ListPaingNext,"{$ID}","&")
ListUrl=ListPaingNext
End If
End If
End If
ElseIf ListPaingType=2 Then
If (ListPaingID1+ListNum-1)>ListPaingID2 Then
ListEnd=True
Else
ListUrl=Replace(ListPaingStr2,"{$ID}",CStr(ListPaingID1+ListNum-1))
End If
ElseIf ListPaingType=3 Then
ListArray=Split(ListPaingStr3,"|")
If (ListNum-1)>Ubound(ListArray) Then
ListEnd=True
Else
ListUrl=ListArray(ListNum-1)
End If
End If
End If
If ItemEnd=True Then
ErrMsg="<br>采集任务全部完成"
ErrMsg=ErrMsg & "<br>成功采集: " & NewsSuccesNum & " 条,失败: " & NewsFalseNum & " 条,图片:" & ImagesNumAll & " 张"
Call DelCache()
Else
If ListEnd=True Then
ItemNum=ItemNum+1
ListNum=1
ErrMsg="<br>" & ItemName & " 项目所有列表采集完成,正在存取缓存请稍后..."
ErrMsg=ErrMsg & "<meta http-equiv=""refresh"" content=""3;url=Admin_ItemCollecFast.asp?ItemNum=" & ItemNum & "&ListNum=" & ListNum & "&NewsSuccesNum=" & NewsSuccesNum & "&NewsFalseNum=" & NewsFalseNum & "&ImagesNumAll=" & ImagesNumAll & """>"
End If
End If
Call TopItem()
If ItemEnd=True Or ListEnd=True Then
Call WriteSucced(ErrMsg)
Else
FoundErr=False
ErrMsg=""
Call StartCollection()
Call FootItem2()
End If
Call FootItem()
Response.Flush()
'关闭数据库链接
Call CloseConn()
Call CloseConnItem()
%>
<%
'==================================================
'过程名:StartCollection
'作 用:开始采集
'参 数:无
'==================================================
Sub StartCollection
'第一次采集时登录
If LoginType=1 And ListNum=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 then
ListCode=GetHttpPage(ListUrl)
Call GetListPaing()
If ListCode="$False$" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在获取列表:" & ListUrl & "网页源码时发生错误!</li>"
Else
ListCode=GetBody(ListCode,LsString,LoString,False,False)
If ListCode="$False$" Or ListCode="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在截取:" & ListUrl & "的信息列表时发生错误!</li>"
End If
End If
End If
If FoundErr<>True Then
NewsArrayCode=GetArray(ListCode,HsString,HoString,False,False)
If NewsArrayCode="$False$" Then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>在分析:" & ListUrl & "信息列表时发生错误!</li>"
Else
NewsArray=Split(NewsArrayCode,"$Array$")
For Arr_i=0 to Ubound(NewsArray)
If HttpUrlType=1 Then
NewsArray(Arr_i)=Trim(Replace(HttpUrlStr,"{$ID}",NewsArray(Arr_i)))
Else
NewsArray(Arr_i)=Trim(DefiniteUrl(NewsArray(Arr_i),ListUrl))
End If
NewsArray(Arr_i)=CheckUrl(NewsArray(Arr_i))
Next
If CollecOrder=True Then
For Arr_i=0 to Fix(Ubound(NewsArray)/2)
OrderTemp=NewsArray(Arr_i)
NewsArray(Arr_i)=NewsArray(Ubound(NewsArray)-Arr_i)
NewsArray(Ubound(NewsArray)-Arr_i)=OrderTemp
Next
End If
End If
End If
If FoundErr<>True Then
Call TopItem2()
CollecNewsAll=0
For Arr_i=0 to Ubound(NewsArray)
'If CollecTest=True And Arr_i=10 Then
'Exit For
'End If
If CollecNewsAll>=CollecNewsNum And CollecNewsNum<>0 Then
Exit For
End If
CollecNewsAll=CollecNewsAll+1
'变量初始化
UploadFiles=""
DefaultPicUrl=""
IncludePic=0
ImagesNum=0
NewsCode=""
FoundErr=False
ErrMsg=""
His_Repeat=False
NewsUrl=NewsArray(Arr_i)
Title=""
'………………………………………………
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
'………………………………………………
If CollecTest=False Then
His_Repeat=CheckRepeat(NewsUrl)
Else
His_Repeat=False
End If
If His_Repeat=True Then
FoundErr=True
End If
If FoundErr<>True Then
NewsCode=GetHttpPage(NewsUrl)
If NewsCode="$False$" Then
FoundErr=True
ErrMsg=ErrMsg & "<br>在获取:" & NewsUrl & "信息源码时发生错误!"
Title="分析源码错误"
End If
End If
If FoundErr<>True Then
Title=GetBody(NewsCode,TsString,ToString,False,False)
If Title="$False$" or Title="" then
FoundErr=True
ErrMsg=ErrMsg & "<br>在分析:" & NewsUrl & "的信息标题时发生错误"
Title="<br>标题分析错误"
End If
If FoundErr<>True Then
Content=GetBody(NewsCode,CsString,CoString,False,False)
If Content="$False$" or Content="" Then
FoundErr=True
ErrMsg=ErrMsg & "<br>在分析:" & NewsUrl & "的信息正文时发生错误"
Title=Title & "<br>正文分析错误"
End If
End If
If FoundErr<>True Then
'信息分页
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
End If
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
'过滤
Call Filters
Title=FpHtmlEnCode(Title)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -