如何抓取自定义html5属性


how to scrape custom html5 attributes

我正在抓取像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中减去srcsrc被视为常量(因为它不存在,它被转换为字符串'src'并发出通知),$el只是没有data字段,因此转换为null(发出通知)。这两个参数都被转换为整数,因此从0减去0得到0。

修改:

echo $a2[] = $el->{"data-src"};

您可能必须将其用作数组:

 echo $a2[] = $el->data-src;  ->  echo $a2[] = $el['data-src'];