カテゴリ: PHP 更新日: 2026/05/20

PHPでWebスクレイピング!file_get_contents()でHTMLを取得する方法【初心者向け完全解説】

PHP の file_get_contents() で HTML を取得する方法
PHP の file_get_contents() で HTML を取得する方法

先生と生徒の会話形式で理解しよう

生徒

「PHPでWebサイトのHTMLを取得する方法ってあるんですか?」

先生

「ありますよ。PHPではfile_get_contents()という関数を使うことで、簡単にWebページのHTMLを取得できます。」

生徒

「HTMLを取得すると何ができるんですか?」

先生

「例えば、ニュースサイトのタイトルを取得したり、価格情報を取得したりするWebスクレイピング

生徒

「難しそうですが初心者でもできますか?」

先生

「とてもシンプルな方法なので大丈夫です。基本からゆっくり見ていきましょう。」

1. PHPのfile_get_contents()とは?

1. PHPのfile_get_contents()とは?
1. PHPのfile_get_contents()とは?

PHPでWebスクレイピングWebページのHTMLを取得する処理です。

そのときによく使われるのが、PHPのfile_get_contents()という関数です。

この関数は、もともとファイルの内容を読み込むための関数です。しかしPHPでは、URLを指定することでWebページのHTMLソースを取得することもできます。

簡単に例えると、ブラウザでWebページを開いたときに、裏側で読み込まれているHTMLファイルをそのまま取得する

HTMLとは、Webページの構造を作るためのマークアップ言語

つまりPHPのfile_get_contents()を使うことで、WebサイトのHTMLをプログラムから取得することができる

2. PHPでHTMLを取得する基本コード

2. PHPでHTMLを取得する基本コード
2. PHPでHTMLを取得する基本コード

まずは一番シンプルな方法を見てみましょう。

URLを指定して、そのHTMLを取得するだけの基本的なPHPコードです。


$url = "https://example.com";

$html = file_get_contents($url);

echo $html;

このコードでは次の処理をしています。

  • URLを変数に保存
  • file_get_contents()でHTMLを取得
  • echoで画面に表示

実行すると、指定したWebサイトのHTMLソースコード

ブラウザの「ページのソースを表示」とほぼ同じ内容を見ることができます。

3. 取得したHTMLを変数に保存する

3. 取得したHTMLを変数に保存する
3. 取得したHTMLを変数に保存する

Webスクレイピングでは、取得したHTMLを変数

変数とは、データを入れておく箱のようなもの

例えばジュースをコップに入れるように、HTMLデータを変数の中に入れておきます。


$url = "https://example.com";

$html_data = file_get_contents($url);

print $html_data;

この例では、HTMLを$html_data

変数に保存することで、後から文字検索をしたり、タグを解析したりすることができます。

Webスクレイピングでは、このHTMLデータを分析して必要な情報だけ取り出す

4. PHPで特定のページのHTMLを取得する例

4. PHPで特定のページのHTMLを取得する例
4. PHPで特定のページのHTMLを取得する例

実際のWebサイトを取得する例も見てみましょう。

例えばニュースサイトやブログページのHTMLを取得することもできます。


$url = "https://example.com/news";

$html = file_get_contents($url);

echo $html;

このコードを実行すると、指定したページのHTMLを取得できます。

このようにPHPを使うと自動でWebページの情報を取得

これがWebスクレイピングの基本

5. HTML取得が失敗したときの確認方法

5. HTML取得が失敗したときの確認方法
5. HTML取得が失敗したときの確認方法

場合によってはHTMLが取得できないこともあります。

そのときは、結果がfalse

falseとは、プログラムの世界で失敗や無効

そのため、取得できたかどうかを確認する処理を書くことが大切です。


$url = "https://example.com";

$html = file_get_contents($url);

if ($html === false){
  echo "HTMLの取得に失敗しました";
}else{
  echo "HTMLを取得しました";
}

このようにしておくと、エラーの原因を見つけやすくなります。

初心者のうちは処理が成功したかどうかを確認する習慣

6. PHP Webスクレイピングでよく使われる理由

6. PHP Webスクレイピングでよく使われる理由
6. PHP Webスクレイピングでよく使われる理由

PHPのfile_get_contents()は、初心者がWebスクレイピングを学ぶときにとても人気

理由は次の通りです。

  • コードがとてもシンプル
  • すぐにHTML取得ができる
  • PHP初心者でも理解しやすい

例えば、Webサイトの価格情報、ニュース記事、ブログタイトルなどを取得するプログラムの最初のステップとしてよく使われます。

また、PHPはWeb開発でよく使われるプログラミング言語クローラーやデータ収集ツール

そのためPHPスクレイピング、HTML取得、file_get_contents使い方

7. HTMLの中身を確認してみよう

7. HTMLの中身を確認してみよう
7. HTMLの中身を確認してみよう

HTMLを取得したら、まずはどんな内容が入っているのか確認してみましょう。

例えば次のようなHTMLが取得されることがあります。


<html>
<head>
<title>サンプルサイト</title>
</head>
<body>
<h1>こんにちは</h1>
<p>これはサンプルページです</p>
</body>
</html>

HTMLは、このようにタグ

タグとは、ページの役割を決める目印

例えば次のような意味があります。

  • title:ページタイトル
  • h1:大きな見出し
  • p:文章

Webスクレイピングでは、このHTMLの中から必要な情報だけを取り出す

その第一歩が、今回紹介したPHP file_get_contents()によるHTML取得

まとめ

まとめ
まとめ

PHPでWebスクレイピングを始める第一歩

この記事では、PHPを使ってWebページのHTMLを取得する方法について解説しました。特にfile_get_contents()という関数を使うことで、初心者でも比較的簡単にWebスクレイピングの基礎を体験できることが分かりました。

Webスクレイピングとは、インターネット上に公開されているWebサイトの情報をプログラムで取得し、必要なデータだけを取り出す技術のことです。例えばニュース記事のタイトルを集めたり、商品の価格情報を自動で取得したりするような場面で活用されています。

PHPでは、file_get_contents()を利用することで、指定したURLのHTMLソースコード

このHTMLを取得する処理は、Webスクレイピングを行う上での最初のステップ

file_get_contents()の基本的な流れ

PHPでHTMLを取得する処理はとてもシンプルです。基本的には次の流れになります。

  • 取得したいWebページのURLを用意する
  • file_get_contents()でHTMLを読み込む
  • 取得したHTMLを変数に保存する
  • 必要に応じて画面に表示したり解析する

このように、わずかなコードでPHPによるHTML取得Webスクレイピングの仕組みを理解するための最初の練習

実践サンプル:HTML取得プログラム

ここで改めて、基本的なHTML取得のサンプルプログラムを確認してみましょう。PHPのWebスクレイピングの基礎となるコードです。


$url = "https://example.com";

$html = file_get_contents($url);

echo $html;

このコードでは、指定したURLのHTMLを取得して、そのまま画面に表示しています。実行すると、ブラウザの「ページのソースを表示」と似た内容を見ることができます。

HTMLを取得するだけでも、Webページの構造を理解する学習になります。HTMLタグの構造を確認することで、どこにタイトルがあり、どこに本文があるのかを把握できるようになります。

エラー確認を入れることも重要

実際のプログラムでは、HTMLの取得が失敗することもあります。例えば次のようなケースです。

  • URLが間違っている
  • サーバーにアクセスできない
  • Webサイト側がアクセスを制限している

そのため、プログラムでは取得成功か失敗かを確認する処理


$url = "https://example.com";

$html = file_get_contents($url);

if ($html === false){

  echo "HTML取得に失敗しました";

}else{

  echo "HTML取得成功";
}

このようなチェック処理を入れておくことで、エラーが発生した場合でも原因を調べやすくなります。プログラミングでは、処理が成功したかどうかを確認する習慣がとても大切です。

HTML取得のあとにできること

HTMLを取得できるようになると、次のような応用が可能になります。

  • ニュースサイトのタイトル収集
  • ブログ記事一覧の取得
  • 商品の価格情報のチェック
  • 更新情報の自動収集

このような処理は、データ収集や情報分析など様々な分野で利用されています。PHPを使ったWebスクレイピングは、サーバー上で自動実行するツールやクローラーの基礎にもなります。

特にPHP file_get_contents HTML取得PHP WebスクレイピングPHPでWebページ取得

今回学んだ内容はとてもシンプルですが、Webスクレイピングの基本となる大切な知識です。まずはHTMLを取得する仕組みを理解し、そのあとにHTML解析やデータ抽出などの技術を少しずつ学んでいくと理解が深まります。

先生と生徒の振り返り会話

生徒

「今回の内容で、PHPでもWebページのHTMLを取得できることがよく分かりました。」

先生

「そうですね。file_get_contents()を使うと、とてもシンプルなコードでHTMLを取得できます。」

生徒

「つまり、URLを指定すればそのページのHTMLソースを取得できるんですね。」

先生

「その通りです。Webスクレイピングでは、まずHTMLを取得して、そのあと必要な情報を取り出します。」

生徒

「HTMLの中にはtitleタグやh1タグ、pタグなどがあって、それを分析してデータを取り出すんですよね。」

先生

「よく理解できていますね。HTMLの構造を理解すると、どこに必要な情報があるか見つけやすくなります。」

生徒

「でも、HTMLの取得に失敗することもあるんですよね?」

先生

「はい。そのため、プログラムではfalseを確認してエラー処理を書くことが大切です。」

生徒

「なるほど。まずはHTMLを取得して、そのあとデータを解析する流れなんですね。」

先生

「そうです。今回学んだ内容はWebスクレイピングの基礎なので、これを理解しておくと今後のプログラミング学習にも役立ちますよ。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
PHP の Web スクレイピングの記事一覧へ
新着記事
New1
Python
Pythonでネットワークスキャナーを作る方法!Scapy入門ガイド(初心者向け)
New2
ChatGPT
ChatGPTでPythonのバグを見つける方法!初心者が確認すべきチェックポイント
New3
Python
PythonでICMP(Ping)を送信する方法を徹底解説!subprocessとscapyでネットワーク確認
New4
ChatGPT
ChatGPTでPythonエラーを相談する方法!エラーメッセージとコードの貼り方を解説
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
ChatGPT
ChatGPTでPythonコード作成とは?初心者向けに使い方・メリット・注意点を徹底解説
No.3
Java&Spring記事人気No3
Python
PythonでAPIリクエストを送信する方法を完全解説!requestsライブラリで簡単API通信
No.4
Java&Spring記事人気No4
Python
Pythonのrequestsライブラリ完全入門!HTTPリクエストの送り方を初心者向けにやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonの非同期HTTPリクエスト(asyncio + aiohttp)完全ガイド!初心者でもわかるネットワークプログラミング
No.6
Java&Spring記事人気No6
Python
Pythonのtimedeltaで日付の加算・減算をしよう!初心者でもわかる時間操作の基本
No.7
Java&Spring記事人気No7
PHP
PHPの変数の命名規則とベストプラクティスをやさしく解説!初心者向け完全ガイド
No.8
Java&Spring記事人気No8
Python
Pythonでzip圧縮・解凍する方法を徹底解説!初心者でもわかるzipfileモジュールの使い方