phpQueryのDOM操作一覧

Backend


phpQueryを初めて扱ったときにDOM操作がすごく大変だったので、
よく使う操作一覧を残します。

まず、スクレイピングで取得してPHPで扱える形に整形する部分を載せておきます。

<?php 
 require "phpQuery-onefile.php";             //スクレイピングするためのファイル読み込み
 $html=file_get_contents("URL");           //スクレイピング
 $htmldoc = phpQuery::newDocument($html); //phpに扱える形に整形
?>

phpQueryを使用するにはphpQuery.phpファイルをダウンロードする必要があります。
https://code.google.com/archive/p/phpquery/downloads





※下記の記事でphpQueryの具体的な使い方を記しているので、phpQueryを初めて使う方はご参考ください。
phpQueryでスクレイピング①:情報を取得して表示してみる



クラス名で取得

※クラス名の前にドットを忘れないこと

$elements=$htmldoc->find(".クラス名");




id名で取得

#を忘れないこと

$element=$htmldoc->find("#id名");




connaiconnai

タグ名で取得

$elements=$htmldoc->find("タグ名");




aタグのhrefを取得

$elements=$htmldoc->find("aタグのクラス名");
  for($i=0; $i<count($elements); $i++){
  $link=$htmldoc->find("aタグのクラス名:eq($i)")->attr("href");
  echo $link;
}




imgタグのsrcを取得

$elements=$htmldoc->find("imgタグのクラス名");
  for($i=0; $i<count($elements); i++){
  $imglink=htmldoc->find("imgのクラス名:eq($i)")->attr("src");
  echo $imglink;
}




取得したい要素のクラス名やID名がない時

$elements=$htmldoc->find("取得する要素の親のクラス名 or ID名");
  for($i=0; $i<count($elements); $i++){
  $htmldoc->find("取得する要素の親のクラスorID:eq($i)")->find("取得要素のタグ名");
  echo $element;
}

コメント

タイトルとURLをコピーしました