2012年8月13日のブックマーク (3件)

  • PHP Simple HTML DOM Parserがとっても便利

    HTMLをパースしてきてDB化したり、RSSのテンプレに落とし込む…と言ったことを少し前からしているのですけど、1つ2つならいざ知らず対象サイトが増えてくると正規表現で何かし続けるのはたいそう無理があります。そういうわけでDOMを使ったりXPathを使ったりもしていたのですが、どちらもHTMLの構造にぴったりとは言えなくて、高度なことが出来るが故に記述が複雑になってしまうのでした。うーん。慣れるまでにハードルがあるな… そんなことを思っていたのですが、ふとした拍子に見つけたライブラリ「PHP Simple HTML DOM Parser」を利用してみたらば、とてつもなく便利でびっくり。jQueryのようなセレクタでガンガン指定して持ってくるスタイルでわかりやすいのなんの。 $text = $dom->find('#todays_darling', 0)->innertext; //今日のダ

    PHP Simple HTML DOM Parserがとっても便利
    mr_daniel
    mr_daniel 2012/08/13
  • SimpleBrowser v.s. WWW::Mechanize - Accept Things

    SimpleTestのSimpleBrowserのサンプルを読んでいると、SimpleBrowserも結局はWWW::Mechanizeとやろうとしていることはほとんど同じ?と思いました。そこでSimpleBrowserを使ってGoogleから「php」で検索して、その結果のページのタイトルを取ってくるという簡単なサンプルを作ってみました。同様にPerlでもWWW::Mechanizeを使って実装してみました。両方ともほとんど同じような感じで作れることがわかりました。 SimpleBrowser 以下がSimpleBrowserで実装したバージョンです。 <?php require_once('simpletest/browser.php'); $browser = &new SimpleBrowser(); $browser->addHeader('User-Agent: Mozilla

    SimpleBrowser v.s. WWW::Mechanize - Accept Things
    mr_daniel
    mr_daniel 2012/08/13
  • PHPでmechanizeもどき - A legacy of パンクはいつも突然に

    英語で「php mechanize」で検索掛けたらこのページが見つかった。 SimpleTest documentation for the scriptable web browser component キーワード「SimpleTest」で検索して見つけた日語のこのページも参考にして、greeにログインしてつぶやこうとしてみた。 <?php require_once('simpletest/browser.php'); $browser = &new SimpleBrowser(); $browser->addHeader('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 ID:20091016092926'); $browser-

    PHPでmechanizeもどき - A legacy of パンクはいつも突然に
    mr_daniel
    mr_daniel 2012/08/13