請教一下各位前輩,該如何去抓取網頁上的資料呢 |
答題得分者是:terrychen
|
Jerrych1
一般會員 發表:3 回覆:4 積分:1 註冊:2004-03-04 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
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 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
可能是我誤會你的意思了, 你是需要按下按鈕後的結果, 所以就程式操作來看的話, 一樣利用 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 發送簡訊給我 |
|
Jerrych1
一般會員 發表:3 回覆:4 積分:1 註冊:2004-03-04 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |