PHPでモダンなホームページを作成し、cURL関数を使って外部サイトの情報を取得する

■クロールの防止などを理由にPHPのcURLによる情報取得ができないサイトが存在する。(その場合、レスポンスは403エラーとなる。)

ユーザーエージェントを詐称することでそれらの情報取得を可能にできる場合がある。

以下の太文字が例。

$url = “アクセスしたいURL”;
$ch = curl_init($url);
$fp = fopen(出力先のファイルパス, “w”);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36”);
curl_exec($ch);
fclose($fp);

■正規表現を使って特定の文字列を抽出

以下のサイトを参照

https://qiita.com/ritukiii/items/13155c9300c5802c7abf

■URLは階層構造にする

・.htaccessに以下行を追加することでどのようなURLでアクセスされてもindex.phpにアクセスすることにできる。

 RewriteRule ^(.*)$ index.php [L]

・ URLの解釈にはparse_url関数を利用する。以下サイト参照。

 https://web.syu-u.com/blog/?p=3105

・不正なURLだった場合は404を返す。以下サイト参照。

PHPで404を返す方法


投稿日

カテゴリー:

投稿者:

タグ: