我需要从给定的url中获取有关产品的数据,即图像、产品名称、价格等。我目前正在使用简单的PHP file_get_contents代码获取网页的所有图像,所以这很好用。我想知道获取其他数据的最佳实践是什么。我需要能够从Etsy,Zappos,ASOS,Net-a-Porter,Nordstrom和PopSugar获取数据。我需要一个机器人吗?这有可能吗?非常感谢您的提前!
发布于 2013-06-10 22:52:17
您可以使用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的用法,以了解如何准确地获得您想要的东西,但从现在开始,这应该不难。
https://stackoverflow.com/questions/17026431
复制相似问题