Webスクレイピング(phpQuery)

社内で営業リストを作成してほしいとの依頼があったのでコーディングしてみる。
「iタウンワーク (https://itp.ne.jp/)」から参考に取得


スクレイピングは処理⽅法によっては多⼤な負荷を相⼿サーバーにかけます。
サーバーダウンをさせてしまったり、極端に負荷をかけたりなど、損害賠償等に発展したりしないよう、コーディングは適切にしてください。


必要なもの

phpQuery – https://code.google.com/archive/p/phpquery/downloads
こちらからダウンロードできるファイル「phpQuery-onefile.php」を読み込んで利用する形となります。

実際のコード

※URLの部分は適宜変更してください。

<?php
require_once "phpQuery-onefile.php";
 
// とりあえず1ページ分
for($i=1;$i<=1;$i++){ 

    // 動的な部分のURL作成 
    $url = "https://itp.ne.jp/genre_dir/house/pg/{$i}/?num=20"; 
    // HTML情報をphpQueryとして作成 
    $pQuery = phpQuery::newDocumentFile($url); 
    // とりあえず名前を出? 
    foreach(pq($pQuery)->find(".normalResultsBox") as $key => $val){
        echo pq($val)->find("h4")->find("a")->text()."<BR>";
    }
 
}
?>

結果

サンプルでは企業名だけですが、さくっと⼀覧取得できました。後は応⽤して必要な情報取得すればいけますね。
ちなみに100万件リスト化するのに1件1秒間隔あけて10⽇程度かかりました。
ご利⽤は計画的に。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする