仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
APIやRSSなどを提供しているサイトは、情報を簡単に扱うことができますが、例えば Yahoo!の検索結果とか、mixiのニュースとか、あるサイトの一部を取り出したいことってよくあります。(とはいえ、著作権違反には注意 そんな時、PHPのライブラリである「htmlSql」を利用すると便利。このライブラリに、ファイルでもURLでも文字列でも、HTMLで作られたものなら何でも与えると、解析して取り出しやすくしてくれます。しかも、その取り出し方はSQL! 例えば、「id属性が’test’の p要素の内容を取り出したい」という場合には、次のようなSQLを使います。 SELECT text FROM p WHERE $id=="test" 超パワフル。ということで、これを CakePHPで利用するためのテクニック。 まずは、ダウンロードしたファイルの中から次のファイルを「app/vendors」フォ
1. はじめに このサイトは php を利用したスクレイピング処理の具体的手法について記載されたサイトにしようと思っています。なので、あまり面白いサイトではありません。内容も偏重していることと思いますが、ご質問などがございましたら、りょーちまでご連絡ください。 1.1. スクレイピングとは スクレイピングの話しを始める前に、現在のWebサービスについて幾つか言及しておきます。 現在様々な会社が様々なWebサービスを展開しています。かなり昔、今よりWebサイトそのものが少ない頃の時代は、HTMLファイルを手動で作成することが殆どでした。しかし、現在はバックグラウンドにデータベースが存在し、データベースの内容を動的に表示し、ページを作成するようなサイトがかなり多くなっています。 さて、データベースを利用するメリットは何でしょうか? 幾つかの視点が挙げられると思います。 最も重要な点は、ひとつひ
APIが提供されていないサービスから欲しい情報だけを取得するには、HTMLなどから自前でスクレイピングを行うしかありません。PHPでのスクレイピングに役立つライブラリなどをまとめてみました。 PerlやRubyには色々と便利そうなものが見つかるのですが、PHPにはなかなかこれといったものがないですね。 Webスクレイピングライブラリ HTMLScraping HTMLをXML化してDOMやXPathで操作できるクラス。主にHTTP_Request+HTMLParser(XML_HTMLSax3を含む)/Tidy+Cache_Liteという構成で、スクレイピングに必要なものが一通り揃っている。ライセンスはLGPL他。 WebScraper シンプルな汎用スクレイピングクラス。HTTP_Client+HTMLParser(XML_HTMLSax3を含む)という構成で、XPathで要素を抽出でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く