phpQueryでスクレイピング

phpQueryでスクレイピング

皆さんこんにちは!今晩は!!ロト君です。お久しぶりの投稿になります。
若干、浦島太郎状態ですが、頑張って掲載します!

今回は、とあるサイトのスクレイピングして、APIの元データを欲しかったので、その際利用した『phpQuery』でのスクレイピングを記載したいと思います。自分の備忘録も兼ねてですね!

Amazonさんには上記の様な本もありました。

1.スクレイピングとは?

スクレイピングとは?

ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。ウェブ・クローラーあるいはウェブ・スパイダーとも呼ばれる。

Wikipedia より

だそうです。私も同じ認識です。Web上のデータをプログラミングなどを用いて抽出するモノだと思っています。

2.phpQueryとは?

phpQueryは、phpを基本とした手法でスクレイピングが簡単に出来るライブラリです。

ダウンロード先は下記のモノです。

phpQuery 公式サイト

使い方は下記のQiitaさんのブログを基にして作りました。

参考にしたQiita 公式サイト ブログページ

3.実際の使い方

実際の使い方はこんな感じです。

初めに、phpQueryの大本を読み込みます。コードはすべてphpコードです。

require_once("./phpQuery-onefile.php");

続いて、スクレイピングしたいサイトのURLを記述します。

$html = file_get_contents("http://wwww.test/test_page.html");

そして、スクレイピングを始めます。

<?php echo substr(phpQuery::newDocument($html)->find("#unit-20198")->find("form")->find("div:eq(1)")->find("div:eq(1)")->text(),0,17); ?>

上のコードは応用したモノですが、基本は下記のモノです。

phpQuery::newDocument($html)->find("h1")->text();

これで、h1タグの情報が取得出来ます。

応用にはechoで文字列を表示させています。
発展していくとfor文などを用いて繰り返し、データを取得する事も可能と思います。

4.まとめ

今回は艦隊に出来るスクレイピングの手法を掲載しました。サイトによってはスクレイピングを禁止にしてるモノもありますので、気を付けて使いましょう!禁止してるモノとしては代表的なモノはTwitterなどです。

では、今回はここまで!(>ω<)ノシ

パソコンカテゴリの最新記事