あらすじ:PHPを使ってHTML文書のh1タグを抜き出すのに、simple_html_dom.php を使う
Wordpress(WP)を使っています。よそ様のサイト更新状況をRSS経由で再利用したいと思っているのですが、最近RSS配信しているサイトが減少傾向みたいです(妄想?)…。仕方ないので、DOM(この意味はあまり深く考えないで下さい)してくれるプラグインを使うのですが、結果的に爺が妄想するようなことになりません。
- 関連記事:WP:plugin、Rss Post Importer が重たい - PageTAKA's blog
- 参考:WordPress › WP Web Scraper « WordPress Plugins
自分でpluginもどきをPHPで書いてしまおうという無謀な挑戦(≒暴走・徘徊)であります。HTMLタグはある程度読めるかな、という方がこの記事を「利用できる」と盲信・騙される(?)対象者であります…(怪…)
準備したもの:Windows7PC、IE、XAMPP、Mery、simple_html_dom.php
Window7のパソコン、InternetExplorerはまあ、これが8であろうとchromeであろうとOKかと思うです。
- Internet Explorer のダウンロード - ブラウザー
- XAMPP Installers and Downloads for Apache Friends:php、MySQLなどを動かすのに必要なものです。これをインストールし、phpが動く環境を実現できない場合は、それから先へは進めない…シクシク。
- Meryの詳細情報 : Vector ソフトを探す!:PHPのスクリプトを書くための「テキスト・エディタ」アプリケーションです。ほかのでも構いませんが、作ったファイルをBOM無しUTF-8で保存できるのが良いのかと…。爺がこれまで使った中では、Meryが一番「楽」(錯覚)です。
- PHP Simple HTML DOM Parser download | SourceForge.net:DOMを実現するのに必要なライブラリです。書き直す必要はありませんが、解凍した後、どこに置くかというのは、ちょっとメモ~。
PHP Simple HTML DOM Parser を動くようにする
手順は以下の通りかと
- PHP Simple HTML DOM Parserから、ダウンロード(DL)する。圧縮ファイルなので、解凍する。解凍後のフォルダにはほかのサブフォルダやファイルがありますが、必要なのは、simple_html_dom.php のみです。
- 解凍したsimple_html_dom.phpを、xampp/php/pear フォルダに置く
php、xamppのことがわかる人には当たり前すぎることなのかも知れんですけど、耄碌爺には、このあたり、ちょっと戸惑いました…。
XAMPPが動くようにする
- XAMPPを起動し、Apacheを走らせる。参考:ファイル構成とXAMPPコントロールパネルの起動 - XAMPPの使い方
- IEで http://127.0.0.1/ にアクセスする。それで、なにか、働いているぞ~というようなメッセージが出れば、OKなんだけど…。今回は、データベース(MySQL)は必要ない…。
phpスクリプトを保存する場所にtest.phpを保存して、http://127.0.0.1/test.php にアクセスし 「ab」と表示されたら、ファイル保存場所に間違いが無く、phpが動くことが確認できるのかな…などと思い込んであります。
PHPのスクリプトを作成する
以下のPHPスクリプトは、このブログをDOMしHTMLタグのh1要素とリンクを表示することになるのですが…。
test1.phpとでもして http://127.0.0.1/ (= http://localhost/ )に保存して下さい。なお、スクリプト内の$のあとは変数の名前ということで特に意味はありませぬので念のため…。
<html> <head> </head> <body> <?php include('simple_html_dom.php'); $html = file_get_html('http://pagetaka.hatenablog.com'); foreach($html -> find('h1') as $midashi) echo $midashi->outertext; ?> </body> </html>