用cURL解析

时间:2015-11-05 11:11:07

标签: php parsing curl

解析我需要的页面的某个部分时遇到问题。找到一个有助于解决任务的代码(完全解析页面),尝试对其进行现代化,但没有任何结果(

function get_web_page( $url )
{
        $uagent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0";

        $ch = curl_init( $url );

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   // возвращает веб-страницу
        curl_setopt($ch, CURLOPT_HEADER, 0);           // не возвращает заголовки
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   // переходит по редиректам
        curl_setopt($ch, CURLOPT_ENCODING, "");        // обрабатывает все кодировки
        curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
        curl_setopt($ch, CURLOPT_TIMEOUT, 120);        // таймаут ответа
        curl_setopt($ch, CURLOPT_MAXREDIRS, 50);       // останавливаться после 10-ого редиректа
        curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER[DOCUMENT_ROOT]."/my_cookies.txt");  
        curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER[DOCUMENT_ROOT]."/my_cookies.txt");

        $content = curl_exec( $ch );
        curl_close( $ch );
        return $content;
}

$response=get_web_page('http://group.aliexpress.com/ruNew.htm?spm=2114.11020108.300.1.PDAme1&tracelog=rugroupbuyyt01');
echo $response;

如何删除页面中不需要的部分?例如,我只需要一个带有“group-product-list”类的块。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用PHP Simple HTML DOM Parser。它允许您选择特定的HTML并检索它。 例如:

// Create DOM from URL or file
$html =file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';

文档:Manual