簡體   English   中英

從多個URL提取特定數據的最佳實踐是什么?

[英]What's the best practice to fetch specific data from multiple URLS?

我需要從給定的URL中獲取有關產品的數據,即圖像,產品標題,價格等。我目前正在使用簡單的PHP file_get_contents代碼獲取網頁的所有圖像,因此效果很好。 我想知道獲取其他數據的最佳實踐是什么。 我需要能夠從Etsy,Zappos,ASOS,Net-a-Porter,Nordstrom和PopSugar中獲取數據。 我需要機器人嗎? 可能嗎? 提前非常感謝您!

您可以使用file_get_contents()來獲取頁面的html,但是此后,您需要讀取DOM來查找要從中讀取信息的元素(圖像中的src,錨點中的hrefs等)。

實際上,有幾種方法可以做您想做的事情,而且如果沒有更多信息,很難給您一個具體的答案,但是您可以從類似以下的內容開始:

$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 />';
}

上面的代碼將在頁面上打印所有錨點hrefs,這只是一個基本示例,功能強大,足以執行您可能想要的任何事情。 您仍然需要深入研究DomDocument和XPath的用法,以學習如何准確地獲得所需的內容,但是從這一點開始,這將是困難的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM