火车头在线发布失败的问题,可能是数据库的原因
火车采集器(LocoySpider)是一款功能强大且易于上手的专业采集软件,强大的内容采集和数据导入功能能将您采集的任何网页数据发布到远程服务器,自定义用户cms系统模块,不管你的网站是什么系统,都有可能使用上火车采集器,系统自带的模块文件支持:风讯文章,动易文章,动网论坛,PHPWIND论坛,Discuz论坛,phpcms文章,phparticle文章,LeadBBS论坛,魔力论坛,Dedecms文章,Xydw文章,惊云文章等的模块文件。更多cms模块请自己参照制作修改,也可到官方网站与大家交流制作。 同时您也可以使用系统的数据导出功能,利用系统内置标签,将采集到的数据对应表的字段导出到本地任何一款Access,MySql,MS SqlServer内。
LocoySpider采用Visual C#编写,可独立在Windows2008下运行(windows2003 自带net11框架。最新版的火车采集器是2008版,需要升级到net20框架才能使用),如您在Windows2000、Xp等环境下使用,请先到微软官方下载一个net framework20或更高环境组件。火车采集器V2009 SP2 04月29日 在我们将数据采集下来后数据默认是保存在本地的,我们可以使用以下几种方式对数据进行处理。
1、不做任何处理。因为数据本身是保存在数据库的(access、db3、mysql、sqlserver),您如果只是查看数据,直接用相关软件打开查看即可。
2、Web发布到网站。程序会模仿浏览器向您的网站发送数据,可以实现您手工发布的效果。
3、直接入数据库。您只需写几个SQL语句,程序会将数据按您的SQL语句导入到数据库中。
4、保存为本地文件。程序会读取数据库里的数据,按一定格式保存为本地sql或是文本文件。 火车采集器采集数据是分成两个步骤的,一是采集数据,二是发布数据。这两个过程是可以分开的。
1、采集数据,这个包括采集网址,采集内容。这个过程是获得数据的过程。我们做规则,在采的过程中也算是对内容做了处理。
2、发布内容就是将数据发布到自己的论坛,CMS的过程,也是实现数据为已有的过程。可以用WEB在线发布,数据库入库或存为本地文件。
具体的使用其实是很灵活的,可以根据实际来决定。比如我可以采集时先采集不发布,有时间了再发布,或是同时采集发布,或是先做发布配置,也可以在采集完了再添加发布配置。总之,具体过程由您而定,火车采集器的强大功能之一也就是体现在灵活中。
1
大家都知道php有个函数htmlspecialchars()是将预定义字符串做转换的,而htmlspecialchars()这个函数在php54默认为utf8编码的
2
一般建站新手站长搭建织梦环境都是用的dedeampz织梦集成环境一键搭建的织梦环境,原因就在这里了,dedeampz搭建完成的CMS网站默认的编码格式是gbk的
3
如果你安装的是织梦53或者56可能没事,因为dede56之前的版本其中php的版本默认配置的是53版本的php,但是织梦57开始集成其中的php是54版本的,而这时的php54默认编码格式跟环境的编码格式冲突(格式不一致)
4
格式不一致的时候如果你输入的标题是纯英文+数字,这没问题,能正常使用,因为编码格式utf-8跟gbk的区别在于中文字符
5
如果你输入的是中文字符,那么htmlspecialchars()函数在转换的时候因为编码格式不同导致的乱码是他不识别,所以就直接输出空,因为他什么也没有转过来,这也就是为什么你输入汉语标题提交,却提示“标题不能为空”的原因!
6
问题分析清楚了,解决方法也很明显了,下面提供两种解决方法
第一种:将php的版本切换回53版本或者比53更早的版本的,这个问题自然就解决了
7
第二种:给htmlspecialchars(函数)添加ENT_COMPAT ,'GB2312'
就是给php的这个函数强制设定编码格式,这样也能解决这个问题,具体对应的位置是
①:dede/article_addphp 这个php文件中查找
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
②:然后再找到dede/article_editphp这个php文件中查找
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');
③:include/ckeditor/ckeditor_php5php 查找
htmlspecialchars($value)
改为htmlspecialchars($value, ENT_COMPAT ,'GB2312')
这样也能解决以上问题
本文采用http://jingyanbaiducom/article/11c17a2c60027df446e39d0chtml站点信息
解决的请点赞
进入后台内容模型管理,点击第5个,产品,后面第一个选项,修改,里面有9个字段,分别点最后的修改进入,进去后什么也不用做,确定后返回,9个都来一遍,就好了。
如果不行就进入MYQSL数据库把所有DEDE数据表全部删除了。
再次重新安装问题就应该解决了
1、运行火车头软件,点击发布到发布窗口界面;
2、点击添加,依次选择发布接口,选择网站编码、填写后台路径、(因为是免登陆接口)选择不需要登录&http请求,然后获取列表看看是否成功,成功后请保持配置。
(注意:如果无法获取列表说明没有配置成功,检测接口文件是否上传,后台路径是否正确等)
3、如果你需要同时发布到多个网站,请重复2操作,原则上可以发布N个。
4、配置完发布接口后回到火车头界面,双击你要发布的采集规则,进入采集规则 编辑任务窗口,切换到第三步:发布内容配置;
5、点击 启用 Web在线发布到网站,然后添加发布配置,在弹出Web发布配置窗口选择你你的发布配置,点击添加,多个网站发布可以多选;
6、双击你添加的网站发布,点击获取列表 绑定你要发布到网站的指定栏目的栏目ID,保存规则,到此你的采集规则发布到网站已经配置好了;
7、如果你要一条采集规则多个网站发布就重复第6步,原则上可以发布N个站。
0条评论