請問要怎麼抓網頁原始檔中的全部的網址啊 |
答題得分者是:avex
|
wke
一般會員 發表:3 回覆:2 積分:1 註冊:2003-03-20 發送簡訊給我 |
|
avex
初階會員 發表:19 回覆:49 積分:43 註冊:2003-03-28 發送簡訊給我 |
並不難. 你會用 TCppWebBrowser 吧~
會的話, 參考一下底下這個連結即可知道如何抓取, 雖然是 VC 寫的但同樣都是呼叫 WinAPI "IHTMLAnchorElement"
http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=736 若不會的話先參考一下如何使用 TCppWebBrowser
http://delphi.ktop.com.tw/topic.php?topic_id=26560
tp://delphi.ktop.com.tw/topic.php?topic_Id=31089
你可以搜尋這個網站, 這個網站資源很多
|
wke
一般會員 發表:3 回覆:2 積分:1 註冊:2003-03-20 發送簡訊給我 |
|
mkbobo
一般會員 發表:4 回覆:68 積分:19 註冊:2003-04-10 發送簡訊給我 |
首先假設你 已經抓到原始檔
並放入Memo1 中了
這個程式很簡單只是收尋"http://... " 之間的
並將他們抓出來秀在另一個Memo2 上
它提供的只有把雙引號裡的 http 網址抓出來
相信你可以將他發揚光大
例如
src=http://delphi.ktop.com.tw/smile.gif
url=http://delphi.ktop.com.tw/link.asp?TOPIC_ID=37088
等等的
原理一樣 用收尋字串並擷取就可以了
期待你將更進一步程式碼的秀給大家看^^
void __fastcall TForm1::Button1Click(TObject *Sender) { TStringList *pSL = new TStringList; pSL->AddStrings(Memo1->Lines); for(int line= 0;lineCount; line) { if(pSL->Strings[line].Pos("\"http:")) { AnsiString str = pSL->Strings[line].SubString(pSL->Strings[line].Pos("\"http://") 1,pSL->Strings[line].Length()); str = str.SubString(1,str.Pos("\"" )-1); Memo2->Lines->Add(str ); } } delete pSL; } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |