0

我需要从给定的 url 获取有关产品的数据,即图像、产品标题、价格等。我目前正在使用简单的 PHP file_get_contents 代码获取网页的所有图像,所以效果很好。我想知道获取其他数据的最佳做法是什么。我需要能够从 Etsy、Zappos、ASOS、Net-a-Porter、Nordstrom 和 PopSugar 获取数据。我需要机器人吗?甚至可能吗?非常感谢您!

4

1 回答 1

1

您可以使用file_get_contents()获取页面的 html,但之后您需要读取 DOM 以找到要从中读取信息的元素(来自图像的 src、来自锚点的 href 等)。

实际上有几种方法可以做你想做的事,如果没有更多信息,很难给你一个具体的答案,但你可以从以下内容开始:

$html = file_get_contents('your url');
$Dom = new DOMDocument();
$Dom->loadHTML($html);

此时,您获得了一个加载了页面所有信息的 DomDocument ( http://www.php.net/manual/en/class.domdocument.php ) 对象。

然后您可以使用 ie 选择元素。Xpath。

一个例子:

$XPath = new DOMXPath($Dom);
$Anchors = $XPath->query('//a');

for ($i = 0; $i < $Anchors->length; $i++) {
    $Anchor = $Anchors->item($i);
    echo 'Href #' . $i . ': ' . $Anchor->getAttribute('href') . '<br />';
}

上面的代码将打印页面上的所有锚点 href,这只是一个基本示例,它足够强大,可以做任何你想做的事情。您仍然需要深入研究 DomDocument 和 XPath 的使用,以了解如何准确地获得您想要的东西,但从现在开始应该不会很难。

于 2013-06-10T14:52:16.717 回答