laravelでスクレイピングの練習をしています。
Goutteを使用しています。
下記の要素の中から"雪のち曇り"という文字だけを取得したいです。
<table class="condition"> <tbody> <tr> <th>積雪</th><td>110cm <small></small></td> <th>雪質</th><td>湿雪</td> <th>天気</th><td>雪のち曇り</td> </tr> <tr> <th>ゲレンデ状況</th><td>滑走可</td> <th>コース数</th><td>37</td> <th>リフト数</th><td>18基 </td> </tr> </tbody> </table>
参考にしたサイト
https://qiita.com/zaburo/items/45d748ae3966bf08323f
$weather = $site->filter('.condition tbody')->eq(1)->filter('tr')->each(function($element){ if(count($element->filter('td'))){ echo $element->filter('td')->eq(2)->text(); } });
値は取れますが、他のtd要素も取ってきています。要素がないとも言われます。
log
1雪のち曇り18基 2The current node list is empty.
正しい取得の仕方がわからず困っています。
どなたか知恵を貸していただきたいです。
よろしくお願いします。
php7.4.2
laravel6.18
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。