skillup

技術ブログ

PHP

phpQueryを使ったスクレイピングに関して

投稿日:2016年8月10日 更新日:

以前、スクレイピングに関してはこのエントリーでも紹介したとおり、phpに標準で入っているDOMDocumentを使う方法が一番楽です。

ところがデータによってはXMLで解析するため目的とする要素を取得するのがなかなか大変でした。備考欄のように文字数が多く、htmlも含まれているtext形式のデータが格納されているデータを取得することがうまくできなかったのです。

今回もっと楽に取得できる方法がないかと思い、phpQueryを使ってみました。

このライブラリを使うとjQueryで要素を取得するように目的の要素を取得、抽出できます。

インストール

https://code.google.com/archive/p/phpquery/downloads

↑ここからダウンロードしてきて、require_onceでファイルを読み込めばOKです。(1ファイルしかありません。)

基本的な使用方法

対象となるHTMLを読み込み、下記のようにセレクタでしていてあげればOKです。

さらにいろいろな使用法を知りたい場合は下記リンクを参考にしてみましょう。

参考リンク

phpQueryでWEBスクレイピングしてみた

【phpQuery】で簡単WEBスクレイピング!をしてみた。

今更ながらPHPでスクレイピングをしてみる

スクレイピング応用編-phpQuery-

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

cakeでのトランザクション、コミット、ロールバック

cakePHP(2.X系)でのトランザクション、コミット、ロールバックについて。 cakePHPでトランザクションを書ける場合、Model内に [crayon-6072ae0cdc4391111238 …

no image

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …

no image

PHPの開発事情 (PHPBrew/ビルトインサーバー/Xdebug/PHPUnit/Composer)

私自身、プログラミングは好きなんですがあまり現代の流行の技術に興味がありません(汗) IT業界はドッグイヤーならぬ、マウスイヤーとも呼ばれているようで、常に最新技術の動向には目を光らせていく必要があり …

no image

jQuery modalダイアログについて&重複時間処理

Contents1 jqueryモーダルダイアログ1.1 あらかじめ読み込むライブラリ1.2 ソース本体1.2.1 Html側1.2.2 Javascript側1.2.3 参考リンク2 重複時間につい …

no image

Queueの登録と実際の処理に関して

実務でQueueに絡んだ処理をする機会があったのでメモ。 Contents1 Queueとは2 Laravelでのキュー処理2.1 キューを記録しておく場所2.2 処理を登録する場面(当然まだ処理は行 …