首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个URLS获取特定数据的最佳实践是什么?

从多个URLS获取特定数据的最佳实践是什么?
EN

Stack Overflow用户
提问于 2013-06-10 22:36:57
回答 1查看 238关注 0票数 0

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-10 22:52:17

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

实际上有几种方法可以做你想做的事情,在没有更多信息的情况下,很难给你一个具体的答案,但你可以从下面这样的东西开始:

代码语言:javascript
复制
$html = file_get_contents('your url');
$Dom = new DOMDocument();
$Dom->loadHTML($html);

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

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

举个例子:

代码语言:javascript
复制
$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的用法,以了解如何准确地获得您想要的东西,但从现在开始,这应该不难。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17026431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档