我正在寻找一种解决方案,如何在使用 CURL 授权后使用 Simple HTML DOM Parser 解析页面。
现在我有两个工作部分的代码:CURL 授权和简单的 HTML DOM 解析器
1) 使用 CURL 授权
$data = array();
$data['name'] = 'name';
$data['pass'] = 'pass';
$data['loginbtnUp'] = '1';
$data['submit_flag'] = '1';
$data['rand'] = microtime(true);
$data['formSubmitted']=1;
$post_str = '';
foreach($data as $key=>$val) {
$post_str .= $key.'='.urlencode($val).'&';
}
$post_str = substr($post_str, 0, -1);
$cookie_file = "cookie.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.page.com/' );
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($ch );
echo $response;
curl_close($ch);
2) 和简单的 HTML DOM 解析器
include('simple_html_dom.php');
$context = stream_context_create(array('http' => array(
'header' => 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.60 Safari/537.17'
)));
$html = str_get_html( file_get_contents('http://page.com/user1', false, $context) );
foreach($html->find('img[width="200"]') as $e)
echo $e->src . '<br>';
我的问题是如何组合这些代码部分来解析只有授权用户才能访问的页面。我只需要登录一次,然后解析可供授权用户使用的不同页面