Ich versuche, einige Details mehrerer Produkte zu holen, Der Code unten ist für einzelne URL und es funktioniert gut: -Wie erhalten Sie Daten von mehreren URLs mit Curl in PHP?
<?php
$url = "http://www.flipkart.com/healthgenie-hd-221-digital-black-dotted-weighing-scale/p/itmeatqzeehkdsmg";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($output);
libxml_clear_errors();
$xpath = new DOMXpath($dom);
// Product Name
$find_product_name = $xpath->query('//h1[@class="title"]');
if($find_product_name->length > 0)
{
$product_name= $find_product_name->item(0)->nodeValue;
}
else
{
$product_name="Product Name Not Found";
}
// Sold by
$find_seller = $xpath->query('//a[@class="seller-name"]');
if($find_seller->length > 0)
{
$seller= $find_seller->item(0)->nodeValue;
}
else
{
$seller="Seller Not Found";
}
// List Price
$find_list_price = $xpath->query('//span[@class="price"]');
if($find_list_price->length > 0)
{
$list_price= $find_list_price->item(0)->nodeValue;
}
else
{
$list_price="Not Available";
}
// Sale Price
$find_sale_price = $xpath->query('//span[@class="selling-price omniture-field"]');
if($find_sale_price->length > 0)
{
$sale_price= $find_sale_price->item(0)->nodeValue;
}
else
{
$sale_price="Not Available";
}
// Stock Status
$find_stock = $xpath->query('//div[@class="out-of-stock-status"]');
if($find_stock->length > 0)
{
$stock= $find_stock->item(0)->nodeValue;
}
else
{
$stock = "In Stock!";
}
//
?>
<table width="100%" align="center" border="1">
<tr>
<th>Product Name</th>
<th>Sold By</th>
<th>List Price</th>
<th>Sale Price</th>
<th>Stock Status</th>
</tr>
<tr>
<td><?php echo '<a href="'.$url.'" target="_blank">'.$product_name.'</a>'; ?></td>
<td><?php echo $seller; ?></td>
<td><?php echo $list_price; ?></td>
<td><?php echo $sale_price; ?></td>
<td><?php echo $stock; ?></td>
</tr>
</table>
Jetzt brauche ich einen Weg auf einmal Daten aus mehreren URLs zu holen. Ich möchte den gleichen Prozess für die mehrere URLs ny die URLs in Array .. Zum Beispiel nehmen: -
<?php
$url = array(
"http://www.flipkart.com/healthgenie-hd-221-digital-black-dotted-weighing-scale/p/itmeatqzeehkdsmg",
"http://www.flipkart.com/healthgenie-hd-221-digital-black-dotted-weighing-scale/p/itmeatqzeehkdsmg",
"http://www.flipkart.com/healthgenie-hd-221-digital-black-dotted-weighing-scale/p/itmeatqzeehkdsmg"
);
?>
Ich bitte alle Entwickler bitte einen Blick und helfen Sie mir in Bezug auf diese. Vielen Dank im Voraus.
lesen Abschnitt für 'multi_curl' - http://php.net/manual/en/function.curl-multi-init.php –
Hallo Mulder, Vielen Dank für einen Kommentar. Ich habe es bereits überprüft, aber ich habe nie mit Curl gearbeitet. Ich würde es sehr schätzen, wenn mir jemand bei der Struktur des Codes helfen würde. z.B. Wie viele Funktionen muss ich erstellen und wie –