2017-08-18 63 views
0

我怎麼可以點擊標籤,然後得到如何在<a>標籤點擊使用curl

我使用這個腳本來獲得全球速賣通的網頁內容來獲取評論的頁面內容

$url = "some link"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_ENCODING, ""); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    $content = curl_exec($ch); 

全球速賣通反饋無比以下標記後取使用Javascript的評論

<li data-trigger="feedback" data-role="trigger" class="ui-switchable-trigger"> 
    <a href="javascript:;" data-spm-anchor-id="2114.10010108.0.0">Feedback (27)</a> 
    </li> 

你能指導我,如果可能的

+0

你無法用捲曲來做任何這樣的事情。看看Selenium – Phil

回答

0

你可以做的是使用curl來獲取頁面內容,然後一旦你有內容獲得你想要的標籤的標籤的href值,然後在該href鏈接上運行另一個curl函數來獲得標籤的頁面內容。

編輯 @Phil是對的。你將不得不採取curl的data-spm-anchor-id值。但首先你需要檢查你的瀏覽器的檢查員網絡,點擊鏈接後,看看他們是如何生成鏈接,以獲得與data-spm-anchor-id頁面。然後,您可以抓取data-spm-anchor-id,並將其粘貼到可以再次使用捲曲的URL(點擊鏈接後從瀏覽器的網絡獲得)。

+0

不適用於'href =「javascript:;」' – Phil

0

您嘗試獲取的頁面正在使用JavaScript加載內容。

使用file_get_contents的JavaScript代碼將無法​​運行,因此,除非點擊觸發這可能涉及到其他的動態請求不能得到HREF數據。

Selenium可能會幫助你,因爲它是一種受控制的Web瀏覽器,因此它可以讀取/獲取動態內容。