skillup

技術ブログ

PHP

PHPでのスクレイピング

投稿日:2016年3月2日 更新日:

本日はPHPスクレイピングについて。

スクレイピング自体はRubyJavaとやってきました。

PHPに関しては昔、正規表現でごりごりやってましたね。これを使えば何でもできるんで一番早いです。

が・・保守性、可読性ともによくはないので、今回はHTMLパーサーを使った方法をメモリます。

PHPのスクレイピングはRubyにも負けず劣らずたくさんありますが、一番簡単なのが下記の方法でしょう。

上記のように書き,「xpathでの要素の指定」のところにxpathの記法で要素を指定してあげればOKです。

単純にidとかで指定する場合はxpath(“//div[@id=”sample_id”]’)とかで簡単なんですが、classの場合には複数のクラスがある場合が普通です。

例えば

といったクラスがあったときに

とやっても取得できません。

のようにかかないとダメなのです。

あとは$dataListをループで回し、取得してあげればOKです。配列にしてしまうのが一番簡単でしょう。

参考リンク

PHPでHTMLをパースして解析する簡単な方法

[PHP]DOM, XPathを使ったスクレイピング(HTMLのタグ内容取得)

PHPネイティブのDOMによるスクレイピング入門

-PHP
-

執筆者:


comment

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

関連記事

no image

PHPの無名関数+array系の関数

PHPの無名関数について。 PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。 今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモ …

no image

CakePHP3 Csvプラグイン

cakePHPでのCSVダウンロードプラグインを実装 Contents1 インストール2 プログラム3 注意点4 参考 インストール composer.jsonに下記のように書いてcomposer u …

no image

フレームワークの基本的なアーキテクチャについて

フレームワークで大事なのは基本的な文法ではなく、構造の理解だと思います。 PHPですとCake,Laravel,Synfonyなどありますが、1つのものでしっかりと理解できていれば他のものもそれほど問 …

no image

PHPでのデバッグ

基本的なことですが、PHPのdebugについておさらいを。 Contents1 一般的なデバッグツール1.1 var_dump1.2 xdebug1.3 フレームワークのdebugツール1.4 dd1 …

no image

アプリケーションアーキテクチャについて 〜既存のMVCに関して〜

今回はアプリケーションのルーター以降のアーキテクチャに関して。主にMVCなどについて説明したいと思います。 Contents1 MVC(Model,Controller,View)1.1 トランザクシ …

アーカイブ