Symfony2にも入っているPHP 5.3ベースの超便利ライブラリ集
2010年04月26日-
スポンサード リンク
Introducing four new PHP 5.3 components and Goutte, a simple web scraper | php|architect
Symfony2にも入っているPHP 5.3ベースの便利ライブラリ集が紹介されていました。
ブラウザのシュミレーションをしたり、DOMを辿ったり、CSSセレクタ形式をXpathに変換したりと、便利に使えそうです。
CssSelector
CSSセレクタをXPathに変えてくれるモジュールのようです。
ページのスクレイピングにとっても役立ちそうですね
$document = new DOMDocument();
$document->loadHTMLFile('http://fabien.potencier.org/articles');
$xpath = new DOMXPath($document);
foreach ($xpath->query(Parser::cssToXpath('div.item > h4 > a')) as $node)
{
printf("%s (%s)n", $node->nodeValue, $node->getAttribute('href'));
DomCrawler
DOMを超簡単に操作できるライブラリ。
HTMLを渡せば、メソッドをチェーンさせて指定要素のclass属性を取得するというJavaScriptっぽいことが出来るみたいです。
use SymfonyComponentsDomCrawlerCrawler;
$crawler = new Crawler();
$crawler->addHtmlContent('<html><div class="foo"></div></html>');
$crawler->filter('div')->attr('class') // div class="foo" の foo が取れます
Process
PHPで別プロセスを細かく制御できる proc_* 関数を便利に使うためのラッパークラスです。
use SymfonyComponentsProcessPhpProcess;
$process = new PhpProcess('/path/to/script.php');
$process->run();
echo $process->getOutput();
非常に直感的かつ簡単に外部スクリプトの実行結果を取得できます。
BrowserKit
上記のDomCrawlerを介して、ウェブサイトとインタラクティブにclickやsubmitを行ってコミュニケートすることが出来るようです。
PHP5.3ということでNamespaceを基本で使ってますが、なかなか便利そうなライブラリ集ですね。
関連エントリ
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- CSSのみで実装された500種類のローディングアニメーション「CSS Loaders」
- 画像ホバーで様々なエフェクトをかけられる「Izmir」
- CSSのbox-shadowをGUIで生成できる「CSS Box Shadows Generator」
- 好きな画像や文字を埋め込んだQRコードをリアルタイムで作れるWEBツール
- 過去のエントリ