Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP抓取一个网站的价格数据,但它返回零(=$0),可能是该网站阻止了我。如何克服它?_Php_Dom_Curl_Xpath_Web Scraping - Fatal编程技术网

使用PHP抓取一个网站的价格数据,但它返回零(=$0),可能是该网站阻止了我。如何克服它?

使用PHP抓取一个网站的价格数据,但它返回零(=$0),可能是该网站阻止了我。如何克服它?,php,dom,curl,xpath,web-scraping,Php,Dom,Curl,Xpath,Web Scraping,这是我使用的代码: $curl = curl_init("https://www.flipkart.com/curren-cu2-345656-analog-watch-boys-men/p/itmeax4wh4ujcfft?pid=WATEAX4WGYNYWVCM&srno=b_1_1&otracker=hp_omu_Deals%20of%20the%20Day_5_15c7e867-d35a-4431-a4a0-da39f043bc1f_0&lid=LSTWATEAX

这是我使用的代码:

$curl = curl_init("https://www.flipkart.com/curren-cu2-345656-analog-watch-boys-men/p/itmeax4wh4ujcfft?pid=WATEAX4WGYNYWVCM&srno=b_1_1&otracker=hp_omu_Deals%20of%20the%20Day_5_15c7e867-d35a-4431-a4a0-da39f043bc1f_0&lid=LSTWATEAX4WGYNYWVCMHVLY32");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10');
$html = curl_exec($curl);
curl_close($curl);

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$tableRows = $xpath->query('//*[@id="container"]/div/div[2]/div[2]/div/div/div[1]/div/div[2]/div/div[2]/div[2]/div[1]/div/div[1]');
echo $tableRows[0];
echo $tableRows[1];
echo $tableRows[2];

foreach ($tableRows as $row) {
    echo $row . "<br>";
}
$curl=curl\u init(“https://www.flipkart.com/curren-cu2-345656-analog-watch-boys-men/p/itmeax4wh4ujcfft?pid=WATEAX4WGYNYWVCM&srno=b_1_1&otracker=hp_omu_Deals%20of%20the%20Day_5_15c7e867-d35a-4431-a4a0-da39f043bc1f_0&lid=LSTWATEAX4WGYNYWVCMHVLY32”);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0(Windows;U;windowsnt 6.1;en-US)AppleWebKit/534.10(KHTML,像Gecko)Chrome/8.0.552.224 Safari/534.10');
$html=curl\u exec($curl);
curl_close($curl);
$dom=新的DOMDocument();
@$dom->loadHTML($html);
$xpath=newdomxpath($dom);
$tableRows=$xpath->query('/*[@id=“container”]/div/div[2]/div[2]/div/div/div[1]/div/div/div[2]/div/div[2]/div[2]/div[1]';
echo$tableRows[0];
echo$tableRows[1];
echo$tableRows[2];
foreach($tableRows作为$row){
echo$行。“
”; }

它显示为零,当我在F12开发者模式下打开源代码时,它会在div旁边显示“==$0”,如何克服这个问题?

因为flipkart是https,所以它会阻止您的请求。为了克服这个问题。除了curl请求之外,请使用以下两行代码

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);     
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); 

我不明白,你想要什么。请让它更容易理解。