我正在抓取像flipkart.com这样的网站。问题是我无法刮自定义html5 attr。像data-src。以下是我到目前为止所做的工作。
<?php
$link = "http://www.flipkart.com/mens-clothing/lee~brand/pr?sid=2oq%2Cs9b";
$html = file_get_html($link);
if($html && is_object($html) && isset($html->nodes))
{
foreach ($html->find("div.pu-visual-section a img") as $el) {
echo $a2[] = $el->data-src;
}
}
?>
对于data-src(自定义attr.),它返回0,但如果我将其更改为src,则工作正常。谁能帮我解释一下为什么我不能抓取数据-src.
注意这一行:
echo $a2[] = $el->data-src;
你在这里真正做的是$el->data - src
,即从$el->data
中减去src
。src
被视为常量(因为它不存在,它被转换为字符串'src'
并发出通知),$el
只是没有data
字段,因此转换为null
(发出通知)。这两个参数都被转换为整数,因此从0减去0得到0。
修改:
echo $a2[] = $el->{"data-src"};
您可能必须将其用作数组:
echo $a2[] = $el->data-src; -> echo $a2[] = $el['data-src'];