我想從任何電子商務網站使用產品頁面URL獲取價格和尺寸 我在這裏寫我的代碼,您可以在其中看到我如何獲取圖像從任何網站。如何從任何電子商務網站獲取產品的價格和尺寸使用捲曲PHP
<?php
function file_get_contents_curl($url)
{
//$ch = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_SSL_VERIFYPEER => false // Disabled SSL Cert checks
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
//http://www.ralphlauren.com/product/index.jsp?productId=102437456
//https://www.amazon.com/U-S-Polo-Assn-Tyra-Fashion/dp/B01KY73PKU
//http://www.6pm.com/p/cole-haan-benson-camera-bag-ivory/product/8877280/color/422
//https://www.daraz.pk/prime-black-mens-slim-fit-leather-jacket-t11-5437633.html
$html = file_get_contents_curl("http://www.6pm.com/p/cole-haan-benson-camera-bag-ivory/product/8877280/color/422");
?>
<div style='display:none'><?php echo $html;?></div>
<?php
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
//get and display what you need:
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
$keywords = '';
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description'){
$description = $meta->getAttribute('content');
}
$prop = $meta->getAttribute('property');
if($prop === 'og:image'){
$keywords = $meta->getAttribute('content');
if($keywords != ''){?>
<input id="ogImg" type="hidden" value="<?php echo $keywords; ?>" />
<?php
}
}
}
echo "Title: $title". '<br/><br/>';
//echo "Description: $description". '<br/><br/>';
$items = $doc->getElementsByTagName('img');
for ($i = 0; $i < $items->length; $i++) {
echo $hi = $items->item($i)->getAttribute('id') ;
$bye = $items->item($i)->getAttribute('src') ;
//$hi= str_replace(' ','',$hi);
//echo gettype($hi).'type<br>';
if($hi !== ''){
//var_dump($items->item($i)->getAttribute('id'));
$newid = $hi;
?>
<img src="<?php echo $bye; ?>" />
<input type="hidden" id="myid" value="<?php echo $hi ?>" />
<?php
break;
}
// var_dump($items->item($i));
}
?>
<style type="text/css">
#imgFetch img{
border: 1px solid grey;
padding: 3px;
border-radius:10px;
}
</style>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
setTimeout(function(){
var myval = $('#myid').val();
if(myval !== undefined)
var elem = $('#'+myval).get(0).outerHTML;
var ogImg = $('#ogImg').val();
if(ogImg !== undefined){
src = ogImg;
}else{
var src = document.getElementById(myval).src;
}
$('body').append('<div id="imgFetch"><img src="'+src+'" /></div>');
$('#imgFetch img').css('width','150px');
$('#imgFetch img').css('height','130px');
}, 0000);
</script>
什麼,我這裏做的是在$ HTML讓整個HTML和回聲也是我用getElementByTagName函數獲取圖像對象,我已經得到了正確的形象,它適用於任何網站url.But問題,我不知道我該如何定位與該圖像給出的價格和尺寸。如果價格和尺寸在選擇元素中,我想要抓取整個ul元素或選擇元素。所以請告訴我是否有任何解決方法。
我已搜查了整個谷歌和我敢肯定,沒有什麼上對此topic.Not一個教程谷歌。 – Hassaan
爲** any **網站申請解決方案非常有抱負。但是,如果你可以把你的問題縮小到**一個你遇到問題的例子,那麼或許我們可以提供幫助。請[請參閱此處瞭解如何創建最小示例](http://stackoverflow.com/help/mcve)。 – gus27
謝謝,但我已經在這裏插入整個代碼ease.If任何人都可以知道它是如何工作的,然後他只是把它作爲PHP文件,並運行它來查看我的結果。 – Hassaan