var link=URL.urlname.ReplaceAll("#","%23");//拼寫為請求網址
var doc = EXTRACT.OpenDoc(CHANN,link,"",);//打開請求
if(doc){
}
EXTRACT.CloseDoc(doc);//關閉請求,固定搭配
3. 觀察請求內數據位置并用腳本提取出所需要的數據
根據數據結構,用腳本抽取數據并返回,數據抽取全部腳本如下所示:
var link=URL.urlname.ReplaceAll("#","%23");
var doc = EXTRACT.OpenDoc(CHANN,link,"",);
if(doc){
var a=doc.GetDom();
var b = a.FindClass("m-note");
var c=b.next.child;
while(c){
var d=a.FindClass("card",div,c);
record re;
re.id = c.mid;
re.pubname= a.GetTextAll(d.child.child.next.child.child.next.child);
re.pubtime = a.GetTextAll(d.child.child.next.child.next.child);
re.text = a.GetTextAll(d.child.child.next.child.next.next);
re.transmit=a.GetTextAll(d.child.next.child.child.child);
re.comment_=a.GetTextAll(d.child.next.child.child.next.child);
re.click=a.GetTextAll(d.child.next.child.child.next.next.child.child);
RESULT.AddRec(re,this.schemaid);
c=c.next;
}
}
EXTRACT.CloseDoc(doc);
var table = DATADB.Open("news"); //打開數據表
newsvar recs = table.Query(""); //查詢條件為空
for(k in recs each v)//調用每個數據
{ record re;//定義一個返回值,返回數據固定搭配
var transid = v.id;//調用news中的id
var trans = v.content;//調用news中的content
var con=trans;//待翻譯的文字
var link="https://fanyi.baidu.com/transapi";//link為請求鏈接 var header;//定義一個請求頭
header.cookie = "";////定義請求頭的cookie,與網頁上的cookie一致
header.refer = "";//定義請求頭的refer,與網頁上的refer一致
var post="from=en&to=zh&query="+con+"&source=txt";//定義post,將FormData拼出來
var doc = EXTRACT.OpenDoc(CHANN,link,post,header);//打開post請求
if(doc){
EXTRACT.CloseDoc(doc);//關閉請求,固定搭配
}
}
3.觀察數據所在位置,并用腳本提取數據
打開這個請求的preview預覽界面,觀察翻譯后的數據位置,
根據數據所在位置,編寫腳本提取數據并返回。
腳本文本:
var table = DATADB.Open("news"); //打開數據表
newsvar recs = table.Query(""); //查詢條件為空
for(k in recs each v)//調用每個數據
{ record re;//定義一個返回值,返回數據固定搭配
var transid = v.id;//調用news中的id
var trans = v.content;//調用news中的content
var con=trans;//待翻譯的文字
var link="https://fanyi.baidu.com/transapi";//link為請求鏈接
var header;//定義一個請求頭
header.cookie = "";////定義請求頭的cookie,與網頁上的cookie一致
header.refer = "";//定義請求頭的refer,與網頁上的refer一致
var post="from=en&to=zh&query="+con+"&source=txt";//定義post,將FormData拼出來
var doc = EXTRACT.OpenDoc(CHANN,link,post,header);//打開post請求
if(doc){
var str = doc.GetDom().GetSource().ToStr();//打開請求后,將獲取請求源碼并轉為字符串格式
JScript js;//定義一個js var obj = js.RunJson(str);//跑一下js var a="";//定義一個變量a for(i=0;i<obj.data.length;i++){
var search=obj.data[i].dst;//取obj中的data中的第i個對象的dst值
var ttt=search.ReplaceAll("u","\\u");//將search文本中的u用\\u替換
ttt=ttt.ToStr();//轉為字符串
var trans_con=doc.GetDom().UnEscape(ttt);//unicode轉中文
a+=trans_con;//a為a+trans_con
}
re.id=transid;//返回id
re.trans_con=a;//返回翻譯后內容 RESULT.AddRec(re,this.schemaid);//返回一個數據
EXTRACT.CloseDoc(doc);//關閉請求,固定搭配
}
}