線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3661
推到 Plurk!
推到 Facebook!

請問如何用idhttp抓網頁的原始檔來做分析

答題得分者是:dllee
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-02 15:53:33 IP:61.230.xxx.xxx 訂閱
我原先用webbrowser ,它只要HTMLDoc.body.innertext;,但找很久idhttp好像沒這樣,討論區也都還沒發現解決方法,不知道如何來寫,找google找也蠻久了。
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-02 21:12:52 IP:59.105.xxx.xxx 訂閱
參考這篇 有關idhttp讀取網頁的問題 (使用 IdHTTP1 在站內搜尋,就可以找到一堆文。)
geniustom 版主的回覆
procedure TForm1.Button1Click(Sender: TObject);
var
fs:TMemoryStream;
buf:string;
begin
fs:=TMemoryStream.Create;
IdHttp1.Get('http://www.trafficswarm.com/cgi-bin/startm.cgi?289446',fs);
SetLength(buf,fs.Size);
fs.Position:=0;
fs.ReadBuffer(buf[1],fs.Size);
memo1.Lines.Text:=buf;
fs.Free;
end;

基本上,fs 就是取回來的 HTML 原始碼了,將 fs.SaveToFile 就可得到網頁原始檔了。
當然,如果是 cgi/php/asp 等當然還是只能取得它們所產出的結果檔。
------
http://www.ViewMove.com
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-02 22:15:31 IP:61.230.xxx.xxx 訂閱
idhttp沒有我要直接獲取innertext的功能,就是直接抓裡面變數,現在只在抓原始碼,而且現在還有抓到是亂碼的問題。
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-09-03 09:55:00 IP:220.134.xxx.xxx 訂閱
亂碼就得轉碼,在本站有許多現成的轉碼程式可用。
各種語系字串內碼轉換函數, 文字轉碼程式
您要的功能 idhttp 應該是沒有的。
------
http://www.ViewMove.com
系統時間:2024-04-27 7:43:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!