掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
HTMLソースからURLのみを取得するには? (ID:28467)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>YUI様 1と2についてのサンプルです。 正規表現ライブラリを使っていますが、 http://delwiki.info/?%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FTRegExpr の「TRegExpr クラスを使う」を参考にしてください。 環境 : Del6 Pro <準備> ① http://www.regexpstudio.com/Downloads/regexpr.zip をダウンロード・解凍し、"Sorce"フォルダの中にある"RegExpr.pas"をプロジェクトフォルダの中にコピーしてください。 ② uses節に、「RegExpr」と「HTTPApp」を追加してください。 >Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, >Dialogs,RegExpr,HTTPApp; ③ "FastNet"タブにあるTNMHTTPコンポーネントをフォームの上に貼り付けてください。名前は"NMHTTP1"のままでよいです。 <サンプル> //検索結果のURLリストをダイアログで表示します procedure TForm1.Button1Click(Sender: TObject); var KensakuWord:string; URL:string; Source:string; r:TRegExpr; Kekka:string; begin //Googleで検索する単語を指定 KensakuWord:='プログラミング'; //ソースを取得するURL URL:='http://www.google.co.jp/search?hl=ja&q='+HTTPEncode(KensakuWord); //NTHTTPコンポーネントでソースを取得 NMHTTP1.Get(URL); Source:=NMHTTP1.Body; //TRegExprクラスを使ってURLを抽出 Kekka:=''; r := TRegExpr.Create; try r.Expression :='<h2 class=r><a href="([^"]+)"'; if r.Exec(Source) then begin repeat Kekka:=Kekka + r.Match[1] + #13#10; until not r.ExecNext; end; finally r.Free; end; //結果を表示 ShowMessage(Kekka); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.