Delphiでウェブページのデータをスクレイピングする方法

Delphiを使用してWebページデータを取得するには、以下の手順を使用できます。

  1. IdHTTPコンポーネントとIdSSLOpenSSLコンポーネントを利用してDelphiでネットワークリクエストを実行する場合、適切なライブラリのインポートを確実に実行しておいてください。
  2. IdHTTPコンポーネントを作成する:Delphiでは、ツールパレットでTIdHTTPコンポーネントを選択してフォームに配置してIdHTTPコンポーネントを作成します。
  3. IdHTTPの構成:ウェブデータの取得ニーズに合わせてIdHTTPの構成を行います。 例えば、Request.UserAgent の構成により、特定のブラウザを模倣できます。
  4. IdHTTP.Getメソッドを使用すると、HTTPリクエストを送信してWebページの内容を取得できます。ターゲットWebページのURLをパラメータとして指定する必要があります。
  5. 返ってきたウェブページのコンテンツを処理:IdHTTP.ResponseTextプロパティを使用して、返ってきたウェブページのコンテンツを取得し、以降、HTMLの解析、データの抽出などの処理を行うことができます。

Delphiを使ってウェブページのデータをスクレイピングする方法を示す簡単なサンプルコードを以下に示します。

uses
IdHTTP, IdSSLOpenSSL;
procedure TForm1.Button1Click(Sender: TObject);
var
IdHTTP: TIdHTTP;
Response: string;
begin
IdHTTP := TIdHTTP.Create(nil);
try
IdHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537';
// 发送HTTP请求并获取网页内容
Response := IdHTTP.Get('http://www.example.com');
// 处理返回的网页内容
// TODO: 进一步处理网页内容
Memo1.Lines.Text := Response;
finally
IdHTTP.Free;
end;
end;

このコードは、IdHTTPコンポーネントを作成し、http://www.example.com にHTTP GET要求を送信します。応答されたウェブページの内容はメモコンポーネントに格納され、ニーズに応じてさらに処理することができます。

なお、これは単なるサンプルコードですので、実際にWebページからデータをスクレイピングする場合には、このような複雑な処理(Cookieの処理、リダイレクトの処理など)が発生する可能性があります。実際のご利用時には、ご要望に合わせて設定・処理が必要になります。

bannerAds