对于这个div:
<section class='menu'>
<div class="some beautiful classes" link="/some/path/in/web">
<div class="contImgHome">
<img src="/images/icon.jpg alt="">
</div>
<h5>
<a href="javascript:void(0);">Go to Section</a>
</h5>
</div>
<div class="some beautiful classes" link="/another/path/in/web">
<div class="contImgHome">
<img src="/images/icon.jpg alt="">
</div>
<h5>
<a href="javascript:void(0);">Go to another section</a>
</h5>
</div>
</section>
我做了:
$response = $guzzleClient->request('GET', $url_base);
$crawler = new Crawler( (string) $response->getBody() );
$crawler->filter('section.menu > div')->each(function( Crawler $div, $i )
{
$xx = $div->extract( [ 'class', 'link'] );
print_r( $xx );
echo PHP_EOL;
die;
});
然后回复:
Array
(
[0] => Array
(
[0] => some beautiful classes
[1] =>
)
)
我也尝试过:
$div->attr('classes');
$div->attr('link');
但'link'属性始终为空。 ¿为什么我不能获得“链接”属性?
我正在使用Laravel 5.2并安装了SymfonyCrawlervía作曲家。
答案 0 :(得分:0)
这是我的错!
网络设置&#34;链接&#34;使用Document Ready使用javascript属性,因此当Crawler获取页面DOM时,attr不存在。