• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 论坛采集程序 模拟登陆,抓取页面 实现代码

php 搞代码 4年前 (2022-01-01) 32次浏览 已收录 0个评论
文章目录[隐藏]

php 论坛采集程序 模拟登陆,抓取页面 实现代码,需要的朋友可以参考下。

代码如下:
<?php
// 吴燕军
// 2009-06-27
// 采集程序php
set_time_limit(0);
//cookie保存目录
$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,
CURLOPT_POSTFIELDS => $postfields,

来源gaodai.ma#com搞##代!^码网

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]*? return $threads[1];
}
//判断该帖子是否存在
function isExits($code){
preg_match(‘/

指定的主题不存在或已被删除或正在被审核,请返回。 /’,$code,$error);
return isset($error[0])?false:true;
}
//获取帖子标题
function getTitle($code){
preg_match(‘/

[^ ]*/’,$code,$title_tmp);
$title = $title_tmp[0];
return $title;
}
//获取帖子作者:
function getAuthor($code){
preg_match(‘/ .+/’,$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/&#8217;,$contents_tmp[0]);
return $contents;
}
//打印帖子标题
function printTitle($title){
echo ”

帖子标题:

“,strip_tags($title),”

“;
}
//输出帖子作者
function printAuthor($author){
echo ”

帖子作者:

“,strip_tags($author),”

“;
}
//打印帖子内容
function printContents($contents){
echo ”

作者发表的内容:

“,$contents,”
“;
}
//错误
function printError(){
echo ” 该帖子不存在! “;
}
/*函数列表end—————————————————————————————————*/
/*登录论坛 begin*/
$url = ‘http://bbs.war3.cn/logging.php?action=login&#8217;;
$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&#8217;;
$code = request($url,”,$cookie_jar,”);
$threadsList = getThreadsList($code);
/*获取帖子列表 end*/
//帖子序列
$rows = 0;
/*循环抓取所有帖子源代码 begin*/
foreach($threadsList as $list){
$url = “http://bbs.war3.cn/viewthread.php?tid=$list&#8221;;
if(isExits($code)){
$code = request($url,”,$cookie_jar,”);
$color = $rows%2==0?’#00CCFF’:’#FFFF33′;
echo ”

“;
echo ”

第”,($rows+1),”贴:

“;
$author = getAuthor($code);
printAuthor($author);
$title = getTitle($code);
printTitle($title);
$contents = getContents($code);
printContents($contents);
echo ”

“;
$rows++;
}
else
printError();
echo “—————————————————————————————–

“;
}
/*抓取源代码 end*/
?>

以上就是php 论坛采集程序 模拟登陆,抓取页面 实现代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 论坛采集程序 模拟登陆,抓取页面 实现代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址