色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php 論壇采集程序 模擬登陸,抓取頁面 實(shí)現(xiàn)代碼

復(fù)制代碼 代碼如下:
<?php
// 吳燕軍
// 2009-06-27
// 采集程序php
set_time_limit(0);
//cookie保存目錄
$cookie_jar = '/tmp/cookie.tmp';
/*函數(shù)------------------------------------------------------------------------------------------------------------*/
//模擬請求數(shù)據(jù)
function request($url,$postfields,$cookie_jar,$referer){
$ch = curl_init();
$options = array(CURLOPT_URL => $url,
CURLOPT_HEADER => 0,
CURLOPT_NOBODY => 0,
CURLOPT_PORT => 80,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_COOKIEJAR => $cookie_jar,
CURLOPT_COOKIEFILE => $cookie_jar,
CURLOPT_REFERER => $referer
);
curl_setopt_array($ch, $options);
$code = curl_exec($ch);
curl_close($ch);
return $code;
}
//獲取帖子列表
function getThreadsList($code){
preg_match_all('/ <!--[.|/r|/n]*? <a href=/"viewthread.php/?tid=(/d+)/',$code,$threads);
return $threads[1];
}
//判斷該帖子是否存在
function isExits($code){
preg_match('/ <p>指定的主題不存在或已被刪除或正在被審核,請返回。 <//p>/',$code,$error);
return isset($error[0])?false:true;
}
//獲取帖子標(biāo)題
function getTitle($code){
preg_match('/ <h1>[^ <//h1>]*/',$code,$title_tmp);
$title = $title_tmp[0];
return $title;
}
//獲取帖子作者:
function getAuthor($code){
preg_match('/ <a href=/"space.php/?uid=/d+/" target=/"_blank/" id=/"userinfo/d+/" onmouseover=/"showMenu/(this/.id/)/">.+/',$code,$author_tmp);
$author = strip_tags($author_tmp[0]);
return $author;
}
//獲取樓主發(fā)表的內(nèi)容
function getContents($code){
preg_match('/ <div id=/"postmessage_/d+/" class=/"t_msgfont/">(.|/r|/n)*? <//div>/',$code,$contents_tmp);
$contents = preg_replace('/images///','http://bbs.war3.cn/images/',$contents_tmp[0]);
return $contents;
}
//打印帖子標(biāo)題
function printTitle($title){
echo " <strong> <h2>帖子標(biāo)題: </h2> </strong>",strip_tags($title)," <br/> <br/>";
}
//輸出帖子作者
function printAuthor($author){
echo " <strong> <h2>帖子作者: </h2> </strong>",strip_tags($author)," <br/> <br/>";
}
//打印帖子內(nèi)容
function printContents($contents){
echo " <strong> <h2>作者發(fā)表的內(nèi)容: </h2>",$contents," </strong> <br/>";
}
//錯誤
function printError(){
echo " <i>該帖子不存在! </i>";
}
/*函數(shù)列表end---------------------------------------------------------------------------------------------------*/
/*登錄論壇 begin*/
$url = 'http://bbs.war3.cn/logging.php?action=login';
$postfields='loginfield=username&username=1nject10n& password=xxxxxx&questionid=0&cookietime=315360000& referer=http://bbs.war3.cn/&loginsubmit=提交';
request($url,$postfields,$cookie_jar,'');
unset($postfields,$url);
/*登錄論壇 end*/
/*獲取帖子列表(位于第一頁的帖子) begin*/
$url = 'http://bbs.war3.cn/forumdisplay.php?fid=57';
$code = request($url,'',$cookie_jar,'');
$threadsList = getThreadsList($code);
/*獲取帖子列表 end*/
//帖子序列
$rows = 0;
/*循環(huán)抓取所有帖子源代碼 begin*/
foreach($threadsList as $list){
$url = "http://bbs.war3.cn/viewthread.php?tid=$list";
if(isExits($code)){
$code = request($url,'',$cookie_jar,'');
$color = $rows%2==0?'#00CCFF':'#FFFF33';
echo " <div style='background-color:$color'>";
echo " <h1>第",($rows+1),"貼: </h1> <br/>";
$author = getAuthor($code);
printAuthor($author);
$title = getTitle($code);
printTitle($title);
$contents = getContents($code);
printContents($contents);
echo " </div>";
$rows++;
}
else
printError();
echo "----------------------------------------------------------------------------------------- <br/> <br/>";
}
/*抓取源代碼 end*/
?>

php技術(shù)php 論壇采集程序 模擬登陸,抓取頁面 實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 密山市| 射洪县| 罗平县| 泰和县| 温州市| 洛阳市| 兴宁市| 武汉市| 惠来县| 临安市| 乐平市| 澳门| 台北市| 温州市| 洛扎县| 肇州县| 怀柔区| 大悟县| 获嘉县| 婺源县| 洪江市| 瑞昌市| 平舆县| 光泽县| 通辽市| 包头市| 闽侯县| 宜君县| 建阳市| 万安县| 巴马| 焦作市| 太白县| 夏津县| 西林县| 苍梧县| 云林县| 额济纳旗| 乐都县| 潞城市| 高青县|