質問: 自分の作っているFC2ブログの、一番最新の記事だけをPHPでスクレイピングしてホームページに載せようとおもっているのですが、何故か出来ません、 file_get_contentsで取得出来ないのは、クッキーやリファラー、ヘッダ等を見てスクレイピング防止しているのだと思いますが、それでもスクレイピングする方法を教えてください。 具体的なスクリプトを教えていただけた方に、ポイントを御礼したいと思います。
回答: 普通にできました。rssから最新エントリのurlを取得して、file_get_contentsでソース取得。 文字コードはutf-8で保存。 ``` '; print_r($var); echo ''; } header('Content-Type:text/html; charset=UTF-8'); $feedUrl = 'http://ブログURL.blog99.fc2.com/?xml'; $rss = simplexml_load_file($feedUrl); $newEntryUrl = (string)$rss->item[0]->link; $html = file_get_contents($newEntryUrl); pr($html); ``` うまくいかないコードとブログURLを提示するといいかもしれません。 追記: >「全体」の取得はできていました。 >しかしそれをメインの記事部分だけ表示したく、正規表現でentry_bodyなどだけ出力しようとすると、 >どうしても表示出来ないのですが、これはやはりスクレイピング防止という事でしょうか。 抜き出しの処理が間違っているのだと思います。 自分のブログならソースコードも一定(テンプレート書き換えによる変化がない)なので以下のようにすればできました。 ``` '; print_r($var); echo ''; } header('Content-Type:text/html; charset=UTF-8'); $url = 'http://ブログURL.blog99.fc2.com/'; $html = file_get_contents($url); preg_match('/.+?(.+?)