まず、コピペで使えるPHPです。
スクレイピングしたいサイトのURLアドレスを指定すると、そのサイトのソースが返ってきます。
ワードプレスをお使いの場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function curl_result($url){ $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL,$url); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); //firefoxでアクセスしているように偽装 curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0' ); $result = curl_exec( $ch ); curl_close( $ch ); $result = str_replace(array("\r", "\n"), '', $result); // スクレイピングする際に改行が入ると邪魔だったので、改行を削除しました。改行を保持したい場合にはこの一行を消してください。 return $result; //ソースコードが返ります。 } |
ワードプレスをお使いの方は、上記コードをfunctions.phpの一番下などにコピーアンドペーストしてください。
そうすれば、いつでもsingle.phpやcategory.php・page.phpなどのテンプレート内でいつでもHTMLソースを取得できるようになります。
single.phpやcategory.php・page.phpなどに下記をコピペすれば、HTMLソースがサイト上に表示されるはずです。
1 2 3 4 5 6 7 |
<?php $url='http://yahoo.co.jp'; //←ソースを取得したいサイトのURLアドレス $result=curl_result($url); //上で設定したサイトのソースを取得 echo $result; ?> |
ワードプレスではない場合
ワードプレスを利用されていない場合には以下のようにしても良いです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function curl_result($url){ $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL,$url); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); //firefoxでアクセスしているように偽装 curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0' ); $result = curl_exec( $ch ); curl_close( $ch ); $result = str_replace(array("\r", "\n"), '', $result); // スクレイピングする際に改行が入ると邪魔だったので、改行を削除しました。改行を保持したい場合にはこの一行を消してください。 return $result; //ソースコードが返ります。 } $url='http://yahoo.co.jp'; $result=curl_result($url); echo $result; |
ここまででHTMLソースを取得して$result(変数)に格納することができていると思います。
この後はsimple html domを使ってスクレイピングしていきますが、下記サイトがとても参考になります!
コメント
[…] ⇒次へ:スクレイピングの手順 […]