全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1597
推到 Plurk!
推到 Facebook!

請教一下各位前輩,該如何去抓取網頁上的資料呢

答題得分者是:terrychen
Jerrych1
一般會員


發表:3
回覆:4
積分:1
註冊:2004-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-04 23:55:48 IP:61.70.xxx.xxx 未訂閱
在html的網頁有下列一段: <form method="post" action="/scripts/mail.idc"><input type=hidden name="mid" value="0076569"><input type="submit" value="電子郵件">    要如何使用Delphi 寫一段程序去抓該按鈕按下後傳回的資料? 發表人 -
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-05 00:53:20 IP:61.62.xxx.xxx 未訂閱
Hi, 放一個 TWebBrowser 到 form 上, 然後放兩個 TButton, 之後寫入下面程式碼:    
uses MSHtml ...     procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('http://xxx.xxx/a.htm');  //該網頁
end;    procedure TForm1.Button2Click(Sender: TObject);
var
  hd:IHtmlDocument2;
  f: IHTMLFormElement;
begin
  hd := WebBrowser1.Document as IHtmlDocument2;
  f := hd.forms.item(0, 0) as IHTMLFormElement;  //看該 form 是此網頁的第幾個 form (index 由 0 開始)
  f.submit;
end;
Jerrych1
一般會員


發表:3
回覆:4
積分:1
註冊:2004-03-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-07 13:29:31 IP:61.228.xxx.xxx 未訂閱
我的意思是像用 NMHTTP.get('http://www.yahoo.com.tw/index.html'); 可在 NMHTTP.body 得到該網頁的內容 是否有其他的方法,可得到該按鈕按下後所得到的內容. 偶是初協者,有粉多不懂的地方,還是偶的觀念有誤,還煩請指正.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-08 09:41:53 IP:203.95.xxx.xxx 未訂閱
可能是我誤會你的意思了, 你是需要按下按鈕後的結果, 所以就程式操作來看的話, 一樣利用 TWebBrowser 來進行會比較直覺, 你可以看一下弟上面 post 的 code, 其中 button1 為瀏覽到你要的網頁, button2 在 submit 其中的某個 form, 接下來完成後, 要取得該 form submit 後的網頁內容, 可以再加個 button3 寫入如下代碼,    
procedure TForm1.Button3Click(Sender: TObject);
var
  hd: IHtmlDocument2;
begin
  hd := WebBrowser1.Document as IHtmlDocument2;
  Memo1.Lines.Text := hd.body.outerHTML;  //取得 html 碼
  // 若要取得文字的話, 可以用 hd.body.outerText
end;
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-08 09:57:08 IP:147.8.xxx.xxx 未訂閱
idHTTP in Indy has implemented the post method, is this what you want?
Jerrych1
一般會員


發表:3
回覆:4
積分:1
註冊:2004-03-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-08 11:02:56 IP:211.75.xxx.xxx 未訂閱
或許是偶沒問清楚, 主要是下列這段 <form method="post" action="/scripts/mail.idc"> <input type=hidden name="mid" value="0076569"> 按下此按鈕後,偶ㄉ電腦立即跑出OUTLOOK準備寄信,而偶要的東西 只是那個EMail地址,若每次按下它都跑出OUTLOOK,偶ㄉ電腦畫面會積滿一堆 寄信ㄉ畫面. 是否有其他ㄉ辦法口以只取它傳回ㄉEMail就好ㄌ.
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-10 16:22:46 IP:61.221.xxx.xxx 未訂閱
您好: 參考站長的範例試試http://delphi.ktop.com.tw/topic.php?topic_id=21491 ~~應無所住而生其心~~
系統時間:2024-05-15 8:22:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!