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

 找回密码
 立即注册
搜索

[采集] 【修改bug】SS 采集器 支持自动获取tag 并支持导入论坛

[复制链接]
zhxyp 发表于 2009-7-10 12:48:53 | 显示全部楼层
我按你7月8日发布的“采集器增强_20060708.zip (84.45 KB) ” 更新后,还是不能解决:
采集文章 自动获取文章 tag

我在打开采集的文章后,tag为空,需要点“可用tag” 才会出现tag,且不能正常保存(没有错误提示,页面为空白)。
我的程序SupeSite 7.0 正式版开源发布!【最后更新:2009年4月22号】 ,没有做过修改;
烦请楼主在百忙之中再帮我看看。谢谢!
回复

使用道具 举报

strainless 发表于 2009-7-10 13:19:31 | 显示全部楼层
本帖最后由 strainless 于 2009-7-15 08:36 编辑

1# lesslin

  楼主的东西不错,谢谢分享。

  但楼主也是个粗心的人,不是这错就是那错,挂一漏万,你发布的程序,我估计装成功的人会很少,我曾经把你以前的版本修正过发表过,那个在ss7下是没任何错误的:https://discuz.dismall.com/thread-1336040-1-1.html

有个问题就是图片:

1:图片是以url地址的方式导入论坛的,图片地址还是在supesite服务器的地址。
2:图片无法作为附件无法加入到论坛附件表里去,导致论坛数据调用时无法提取图片。
回复

使用道具 举报

lydd 发表于 2009-7-10 17:47:21 | 显示全部楼层
62# strainless
LS的连接打开主题和这个根本没有关联嘛.上一篇下一篇终级板!
回复

使用道具 举报

 楼主| lesslin 发表于 2009-7-10 22:13:01 | 显示全部楼层
没有安装成功的也不要着急,稍后录个视频教程。
回复

使用道具 举报

lydd 发表于 2009-7-11 11:45:33 | 显示全部楼层
64# lesslin
LZ,我下载了最新的文件,采集获取的TAG全部还是一样的啊?期待答复!
回复

使用道具 举报

南方尖兵 发表于 2009-7-11 13:45:05 | 显示全部楼层
我的虽然可以提取!但是却在首页不能发表文章了!
回复

使用道具 举报

see21 发表于 2009-7-11 14:01:34 | 显示全部楼层
楼主是好人,但代码还有问题,TAG可以取得,但手工添加文章将无法使用,而且也不能修改。这是个明显的ubg,希望修正。
回复

使用道具 举报

easehu 发表于 2009-7-13 20:03:52 | 显示全部楼层
我已经根据楼主的代码,完成了 TAG 自动获取(单独的程序,不是在导入页面内),自动修改分页编码,现在需要解决的就是自动刷新,的代码了,由于获取 TAG 慢,所以程序会出现假死情况。
回复

使用道具 举报

easehu 发表于 2009-7-13 20:07:13 | 显示全部楼层
  1. while ($item = $_SGLOBAL['db'] -> fetch_array($query)) {
  2.         $item = saddslashes($item);
  3.         $_SGLOBAL['supe_uid'] = $item['uid'];
  4.         $_SGLOBAL['supe_username'] = $item['username'];
  5.         $_SGLOBAL['timestamp'] = time();
  6.         $tag_itemid =  $item['itemid'];
  7.         $tag_subject = $item['subject'];
  8.         $tag_message = $item['message'];
  9.         $subjectenc = rawurlencode(strip_tags($tag_subject));
  10.         $messageenc = rawurlencode(strip_tags($tag_message));
  11.         $tag_keyword = '';
  12.         echo $tag_itemid;
  13.         echo "<br>";

  14.         $data = @implode('', file("http://www.xxx.com/kw.html?title=$subjectenc&content=$messageenc&ics=$charset&ocs=$charset"));
  15.         if($data) {
  16.                 $parser = xml_parser_create();
  17.                 xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  18.                 xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
  19.                 xml_parse_into_struct($parser, $data, $values);
  20.                 xml_parser_free($parser);

  21.                 $kws = array();
  22.                 foreach($values as $valuearray) {
  23.                         if($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') {
  24.                                 if(PHP_VERSION > '5' && $charset != 'utf-8') {
  25.                                         $valuearray['value'] = encodeconvert("UTF-8", $valuearray['value']);
  26.                                 } else {
  27.                                         $valuearray['value'] = trim($valuearray['value']);
  28.                                 }
  29.                                 $kws[] = $valuearray['value'];
  30.                         }
  31.                 }
  32.                 if($kws) {
  33.                         foreach($kws as $kw) {
  34.                                 $kw = htmlspecialchars($kw);
  35.                                 $tag_keyword .= $kw.' ';
  36.                         }
  37.                         $tag_keyword = htmlspecialchars($tag_keyword);
  38.                 }
  39.         }
  40.         $tagarr = posttag($tag_keyword);
  41.         postspacetag( "add", $tag_type, $tag_itemid, $tagarr );
  42.         $tagnamearr = array_merge( $tagarr['existsname'], $tagarr['nonename'] );
  43.         $setsqlarr['relativetags'] = addslashes( serialize( $tagnamearr ) );                                
  44.         $setsqlarr['relativeitemids'] = getrelativeitemids( $setsqlarr['itemid'], array( "news" ) );
  45.         $_SGLOBAL['db']->query("UPDATE ".tname('spacenews')." SET relativetags = '".$setsqlarr['relativetags']."' ,relativeitemids = '".$setsqlarr['relativeitemids']."' WHERE itemid = ".$tag_itemid."");
  46.         echo "写入成功,继续下一个!<br>";
  47. }
  48. echo "全部完成!";
复制代码
贴出核心代码,供楼主改进使用
回复

使用道具 举报

yooge.net 发表于 2009-7-14 22:29:06 | 显示全部楼层
本帖最后由 yooge.net 于 2009-7-14 20:31 编辑

楼主共享是很好,但有个别地方做的不够光明磊落
  1. $insertsqlarr['message'] .='<span style="display:none">伊尚锦时尚手册-女性完全时尚手册 http://www.eshangjin.com</span>
复制代码
  1. $setsqlarr['message']=$setsqlarr['message'].'<span style="display:none">手机技术服务区 http://www.sjfwq.com</span>' ;
复制代码


源代码中有很多隐藏的
这样的采集会是什么结果,大家可以一想而知,每个采集文章都会生成作者的广告,建议采集过的朋友自己修改一下代码

个人觉得作者可以明说,给贵站加个连接或什么的之类
//////////////////////////////////////////////////////////////////////////////////////////////////////
以上只是我个人的观点,如有冲突可以删除
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-12 13:53 , Processed in 0.100342 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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