下記コードを実行すると
Fatal error: Call to undefined method app\Model\Scraping::query()
が発生します。
DOMXPath::query
を指定しなければいけないところを、自作クラスのScraping::query
として実行しようとしているため、エラーが出力されているのだと考えています。
DOMXPath::query
を実行したい場合、どのように記述すればよいのでしょうか。
ご教授いただけますと、幸いです。
lang
1namespace app\Model; 2 3class Scraping { 4 private $xpath; 5 6 public function __construct($url) { 7 // 文字化け回避のため自作関数を呼び出し 8 $html = $this->mb_c($url); 9 10 $dom = new \DOMDocument; 11 @$dom->loadHTML($html); 12 13 $this->xpath = new \DOMXPath($dom); 14 } 15 16 private function mb_c($url) { 17 $html = file_get_contents($url); 18 $html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'); 19 return $html; 20 } 21} 22
lang
1require_once(__DIR__ . '/app/Model/Scraping.php'); 2 3$url = HOGE_URL; 4$xpath = new app\Model\Scraping($url); 5 6// この処理でエラー 7foreach ($xpath->query('//ul[@class="clearfix"]/li/div') as $node) { 8}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/17 06:16