// Wu Yanjun
// 2009-06-27
// コレクション プログラム php
set_time_limit(0);保存ディレクトリ
$ cookie_jar = '/tmp/cookie.tmp';
/*関数----------------------------- --- --------------------------------------------------- --- -----------------------*/
//リクエストデータをシミュレート
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 、
C URLOPT_POSTFIELDS = > $postfields、
CURLOPT_RETURNTRANSFER =>
CURLOPT_FOLLOWLOCATION => 1、
CURLOPT_COOKIEJAR => gt; $referer
);
curl_setopt_array($ch , $ options);
$code =curl_exec($ch);
return $code;
//投稿リストを取得する
function getThreadsList($code){
preg_match_all('/ < ! --[.|r|n]*?
.+ / ',$code,$author_tmp);
$author =strip_tags($author_tmp[0]);
return $author
}
function getContents($code){
preg_match('/ (.|r|n)*?
/',$code,$contents_tmp);
$contents = preg_replace(' /images// ','http://bbs.war3.cn/images/',$contents_tmp[0]);
return $contents;
//投稿タイトルを印刷する
function printTitle($title){
echo " 投稿タイトル:
",strip_tags($title),"
"; /投稿作成者を出力します
function printAuthor($author){
echo " 投稿作成者:
",strip_tags($author),"
";
}
//投稿コンテンツを印刷
function printContents($contents){
echo " 作成者によって公開されたコンテンツ:
", $contents," < /strong>
";
}
//Error
function printError(){
echo " この投稿は存在しません! "; }
/*関数リスト終了 -------------------------------------- ---------------------------------------------------- -------* /
/*ログインフォーラムの開始*/
$url = 'http://bbs.war3.cn/logging.php?action=login';
$postfields='loginfield=username&username= 1nject10n& パスワード=xxxxxx&questionid=0&cookietime=315360000& リファラー=http://bbs.war3.cn/&loginsubmit=submit';
request($url,$postfields,$cookie_jar,'');
unset($postfields,$url); ;
/*フォーラムにログイン* /
/*投稿リスト(最初のページの投稿)を取得*/
$url = 'http://bbs.war3.cn/forumdisplay.php?fid=57'; $code = request($url ,'',$cookie_jar,'');
$threadsList = getThreadsList($code);
/*投稿リストの取得*/
//投稿シーケンス
$rows = 0; /*すべての投稿ソースを取得するループ コードの開始*/
foreach($threadsList as $list){
$url = "http://bbs.war3.cn/viewthread.php?tid=$list"; isExits($code)){
$code = request($url,'',$cookie_jar,'');
$color = $rows%2==0?'#00CCFF':'#FFFF33'; " ";
echo "
th",($rows+1),"投稿:
" ;
$author = getAuthor($author);
$title = getContents($code); );
echo " "
}
printError(); ----------- -------------------------------------- ----------- ---------
";
}
/*ソースコードを取得*/
?>
http://www.bkjia.com/PHPjc/320308.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/320308.html技術記事次のようにコードをコピーします。 ?php // Wu Yanjun // 2009-06-27 // 収集プログラム php set_time_limit(0) // Cookie 格納ディレクトリ $cookie_jar = '/tmp/cookie.tmp'; - ------------------...