Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 帖子外部调用html格式

[复制链接]
221400q 发表于 2012-9-26 16:47:00 | 显示全部楼层 |阅读模式
本帖最后由 221400q 于 2012-9-28 09:02 编辑

求助,外部调用帖子html格式,我按照这个方法http://www.seowhy.com/bbs/thread-38439-1-1.html设置,但是在DZ2.5上面不成功,求高人指点下,我怎么弄都不能把帖子调用出来的,我的程序DZ2.5的,论坛安装在根目录,求高人帮忙看下如何做。


问题已经解决,我的主站是http://www.cnxilo.com,右下角的技术论坛。调用的是另外一个空间http://cnxilo.net上面的数据,这样做比JS要好,JS调用的内容蜘蛛抓取不到,而用这个方法调用的内容蜘蛛是可以抓取到的。


他的方法是:
在论坛的后台,其他->计划任务—>增添一个任务,然后点击这个任务的“编辑”,在“任务脚本:”的输入框里输入:makehtml_daily.inc.php
其他更新时间设置,可以自己选择。

然后,通过这个地址:http://www.seowhy.com/bbs/forumdata/cache/newhtml.htm  可以获得HTML格式的论坛帖子。注意,请在UTF8编码下查看。
  1. <?php
  2. /*
  3. 调用论坛的10个最新帖子,输出为html格式,通过计划任务更新,更新时间可以在计划任务中设置
  4. */
  5. if(!defined('IN_DISCUZ')) {
  6. exit('Access Denied');
  7. }
  8. $newhtml = '';
  9. $query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid=f.fid and f.fid IN('8','2','38','50') ORDER BY t.dateline DESC LIMIT 0, 10");
  10. //这里的f.fid in ('8','2','38','50') 要改成自己想要调用的版块号
  11. while($new = $db->fetch_array($query)) {
  12. $newsubject = cutstr($new['subject'],42);
  13. $newurl = 'http://www.ecoscyw.cn/edu/thread-'.$new['tid'].'-1-1.html';
  14. $newhtml .= '<li><a target="_blank" href="'.$newurl.'">'.$newsubject.'</a></li>';
  15. }
  16. //$newhtml = convert_data($newhtml);
  17. //如果您的服务器本来就是uft8的,这行应该注释掉。

  18. writehtml('newhtml.htm', $newhtml);
  19. //写入html文件
  20. function writehtml($file, $html) {
  21. global $timestamp, $_DCACHE;
  22. $yearmonth = gmdate('Ym', $timestamp + $_DCACHE['settings']['timeoffset'] * 3600);
  23. $logdir = DISCUZ_ROOT.'./forumdata/cache/';
  24. $logfile = $logdir.$file;
  25. if($fp = @fopen($logfile, 'w')) {
  26. @flock($fp, 2);
  27. fwrite($fp, "$html");
  28. fclose($fp);
  29. }
  30. }

  31. //如果您的服务器本来就是uft8的,下面的函数也注释掉
  32. /* function convert_data($data) {

  33. include DISCUZ_ROOT.'include/chinese.class.php';
  34. $c = new Chinese('gbk', 'utf8');

  35. $data = $c->Convert($data);
  36. return $data;
  37. }
  38. ?> */
复制代码
外部调用的时候需要的代码是:

  1. function readBbsHtml()
  2. {
  3. $content = file("http://www.ecoscyw.cn/edu/forumdata/cache/newhtml.htm");
  4. $content = implode("\n",$content);
  5. return $content;
  6. }
复制代码
ygbh 发表于 2012-9-26 16:48:47 | 显示全部楼层
这个是问题还是方法的帖子
回复

使用道具 举报

 楼主| 221400q 发表于 2012-9-26 16:51:39 | 显示全部楼层
ygbh 发表于 2012-9-26 16:48
这个是问题还是方法的帖子

这个是问题啊,我用这个方法,在DZ2.5上面实现不了呢
回复

使用道具 举报

ygbh 发表于 2012-9-26 16:54:38 | 显示全部楼层
噢,意思是你要调用别人网站上的帖子还是你自己的网站上的呀,如果别人的直接用框架就行了的
回复

使用道具 举报

 楼主| 221400q 发表于 2012-9-26 17:00:29 | 显示全部楼层
ygbh 发表于 2012-9-26 16:54
噢,意思是你要调用别人网站上的帖子还是你自己的网站上的呀,如果别人的直接用框架就行了的

不是调用别人的,比如我的主站是www.123.com ,论坛是www.123.net,我想把论坛数据调用到主站,如果用JS,又不利用收录,他的这种方法很利用收录,如果你知道别的办法也可以告诉我的
回复

使用道具 举报

ygbh 发表于 2012-9-26 17:02:05 | 显示全部楼层
其实本人感觉收录这个也不一定非要怎么做的,不过能优化还是优化下了噢,此问题没研究过噢
回复

使用道具 举报

 楼主| 221400q 发表于 2012-9-27 09:21:35 | 显示全部楼层
顶起求高手解决,愿意付费,我的QQ是1446394315
回复

使用道具 举报

相逢是缘分 发表于 2012-9-27 15:12:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

gsjwd 发表于 2012-10-23 09:40:18 | 显示全部楼层
回复

使用道具 举报

僮虎 发表于 2012-11-23 10:50:09 | 显示全部楼层
这个在2.5中貌似不行哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-28 11:18 , Processed in 0.252543 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表