html
要素を1:1で連続的に取り込もうとしている迷惑行為コードは、styles
とclasses
のないタグ付きです。プラス、私はimages
Goutteを使用して連続して画像、リンク、テキストをスクラップ
$client = new Client();
$crawler = $client->request('GET', 'http://www.tutorialspoint.com/laravel/laravel_ajax.htm');
$crawler->filter('h1, h2, h3, h4, h5, h6, p, pre, p > img, div > img, p > a')->each(function(Crawler $node, $i){
if ($node->filter('p')){
echo $node->text()."<br/>";
} else if ($node->filter('pre')) {
echo '<code>'.$node->html().'</code><br/>';
}
});
しかし、何でも私は、私はそのページに$node->html()
を使用するとき、私はそのページに$node->text()
またはすべてのHTMLを使用した場合、私はどちらかだけのテキストを取得しています取得に失敗しています。
私は、例えばp
- <p>Text Here</p>
を取得しようとしています。 img
-<img src="default.jp"/>
。
こんにちは、答えてくれてありがとう:ここではタグ等)、
は、使用できる例です。それは本当に多くの助けになりました。しかし、私はまだリンクや画像の場合に問題があります。例えば、私が掻いているページが 'example.com'で、画像がある場合、' ' - >' img => src = http://example.com/default .jpg' –
'$ domain'と' $ node-> getNode(0) - > getAttribute( 'src') 'を組み合わせることはできますが、ディレクトリ構造やトラバースなどのいくつかの項目をチェックする必要があるかもしれないことに注意してください。 。 – Dekel
私はそれのための解決策をここに見つけました - http://stackoverflow.com/a/8573193/3866364。とにかく、答えをありがとう。 :) –