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

LaravelでのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

no image

ループ処理+switch

PHPでちょっと小ネタ foreachやwhileのようなループを抜けるときにcontinueを使うんですが、その中にswitchが入っていると、switchに対してのcontinueがきいてしまって …

no image

cakeでのJOINについて&session

Contents1 cakeでのJOIN2 cakeでのsessionについて cakeでのJOIN cakePHPでは基本、hasManyなどの修飾子を使えば、リレーションをとることができますが、検 …

no image

laravelでの名前空間変更

laravelでの名前空間変更について。 laravelでモデルの場所はディフォルトだとapp/直下に作られます。 これをapp/Modelというディレクトリを作ってnamespaceを正常に定義した …

no image

CakePHP3 リクエストパラメーターの扱いについて

CakePHPのリクエストの扱いについて。 ほとんどのフレームワークですと、HTTPリクエストの扱いに関してはフレームワーク側で実装されていることが多いので、フレームワークを使い始める場合、この部分に …