[英]CURL DOMXPath different values
我有這個curl函數,可以從網站中提取html。
function curl($url){
$headers[] = "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
$headers[] = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$headers[] = "Accept-Language:en-us,en;q=0.5";
$headers[] = "Accept-Encoding:gzip,deflate";
$headers[] = "Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$headers[] = "Keep-Alive:115";
$headers[] = "Connection:keep-alive";
$headers[] = "Cache-Control:max-age=0";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($curl);
curl_close($curl);
return $data;
}
為了檢索數據,我使用了:
$html = curl($USE_URL);
$doc = new DOMDocument();
$doc->loadHTML($html);
$data = new DOMXPath($doc);
$date_list= $data->query('............');
$name_list= $data->query('............');
echo $date_list->length;
echo $name_list->length;
如果我在' localhost '中運行這段代碼,它將正常工作(長度為52,52 ) :。 但是,如果我在我的altervista網站上使用完全相同的代碼,它會告訴我date_list
長度為零! (長度0.52 )
我提取的date_list格式是類似“ 08-09-2018 12:47”的字符串
curl $ headers可能有問題嗎?
奇怪的是,我通過更改查詢來解決了這個問題:我不得不解決這個問題:因此,基本上我的新查詢提取了一大組數據(例如“ abcd deddeh dede 12:30 dhhh”),並通過操縱字符串(使用拆分方法..)
$date_list= $data->query('.....HERE......');
我認為,當CURL下載頁面時,它不會讓它完全不變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.