标签间调用功能完成
作者:小文 发布于:2010-9-10 22:55 Friday 分类:开发计划
一直有朋友需要标签间调用功能,即标签B中最后能调用标签A的数据.还有一些朋友需要在保存文件时 按标签值进行文件夹的建立.今天,此功能终于完成了.
标签间的调用是怎么回事呢?比如用户用正则规则获取数据 ,标签B的最后结果是 XXXXX[标签:标签A]XXXXX .那么,在最后的数据处理中,[标签:标签A]的值将被替换成 标签A 的真实数据.
在文件保存时的调用是怎么回事呢?比如我定义图片保存的目录为 [标签:年]/[标签:月]/ 那么,如果我采集的数据中,标签年的值为2010,标签月的值为 09 ,那么,最后这个图片将保存在 2010/09/这个目录下.如果年月变化了,这个值也会进行相应的变化.另一处是在标签里的文件命名,可以使用/来创建目录,比如 [标签:标题]/[原文件名] 格式的话,采集器就会创建一个以标题标签内容为名的文件夹,然后保存文件.注意,这里只支持文件夹,对文件名不支持.
重新安装MDAC的方法
作者:小文 发布于:2010-9-3 8:54 Friday 分类:常见问题
火车采集器默认的配置文件均是保存在Access数据库中。如果您的电脑上没有安装或安装错误MDAC这个数据库组件,则程序将可能出错。出错时,可能提示的信息如下:
Exception:
System.InvalidOperationException: The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later.
这时您需要重新安装MDAC,安装的方法为:
第一、打开"c:\windows\inf" 注意:“inf”是隐藏目录。
找到文件“mdac.inf”。鼠标点击右键——> 安装 。
第二、提示要“I386文件夹中的文件”,插入windows xp 安装盘(或为网上下在windows I386 文件。)
(如果找不到或太复杂,可以参考这个 http://www.leaffly.com/post/MDAC_in_xp_sp3.html )
以上方法参考自:
1.http://bbs.locoy.com/viewthread.php?tid=20966&rpid=107085&ordertype=0&page=1#pid107085
2.http://www.docin.com/p-35935813.html
如以上方法还没能解决您的问题,您不可以在搜索引擎中查找 MDAC 安装等关键字寻找解决办法。
标签: MADC
PHP对escape的字符串进行解密
作者:小文 发布于:2010-8-28 12:53 Saturday 分类:其它资源
Escape是js 脚本的一种加密字符串的方式.具体详情可以参见http://www.w3school.com.cn/js/jsref_unescape.asp
有的网站会将中文字进行Escape编码,然后在显示时用unescape再进行转换.比如有这么一段代码
<title>广州公交查询-由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线</title>
这个是经过Escape编码的.我们需要在PHP中将其解密.在网上搜索后,得到加密和解密代码.
<?php
function unescape($str) { //这个是解密用的
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
function phpescape($str){//这个是加密用的
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr);
$ar = $newstr[0];
foreach($ar as $k=>$v){
if(ord($ar[$k])>=127){
$tmpString=bin2hex(iconv("GBK","ucs-2",$v));
if (!eregi("WIN",PHP_OS)){
$tmpString = substr($tmpString,2,2).substr($tmpString,0,2);
}
$reString.="%u".$tmpString;
} else {
$reString.= rawurlencode($v);
}
}
return $reString;
}
?>
我们测试一下
echo unescape("由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线");
可以得到 由金泽大厦到百征科技大厦的乘车路线
Html实体字符转换
作者:小文 发布于:2010-8-28 12:45 Saturday 分类:其它资源
有时,我们采集的数据类似 "你好", 这些字符在源代码中是这个样子,但在网页中确是正常显示为中文.这类代码叫做html实体 ,我们可以通过PHP的内置函数,对其进行转换,以方便查阅.
php代码如下:
echo mb_convert_encoding("你好", "gb2312", "HTML-ENTITIES"); //输出:你好
mb_convert_encoding 用法可以参考http://cn.php.net/manual/zh/function.mb-convert-encoding.php
如果您使用php插件,可能需要添加 php_mbstring.dll 扩展.火车采集器中PHP插件的扩展添加方法请查看文章 http://board.locoy.com/?post=34
火车采集器2010版PHP插件增加扩展的方法
作者:小文 发布于:2010-8-28 12:19 Saturday 分类:常见问题
火车采集器的PHP插件的实现原理是使用php命令行模式,向php的cli文件发送命令,然后PHP处理php文件,采集器获取返回的数据.从理论上说,PHP插件可以实现几乎所有的PHP功能.关于PHP命令行,大家可以参考官方的权威说明 http://docs.php.net/manual/zh/features.commandline.php
火车采集器中PHP执行程序为Site.exe,对应的php.ini为Site.ini.所有的PHP文件都放在System目录下.PHP命令行程序执行时的工作目录为火车采集器主程序所在目录.如果您需要修改PHP里的一些参数,可以通过修改Site.ini来实现.默认的Site.ini只有PHP的一些常用功能,很多扩展没有加载.您可以按自己的需求,增加或是去除扩展.
如果您是非PHP专业人员,只是使用现成的插件,当提示您没有找到某个扩展或是方法时,您可以直接下载该压缩包并直接解压覆盖到火车采集器System目录下去.该压缩包包含了PHP常见的所有扩展.
标签: php插件
联系我们
联系电话
-
0551-62864156
QQ邮件订阅
最新评论
- industrialegy
<a href="http://www.... - inve
这个采集到的视频地址 应该不是真实地址... - 云南桥架厂
我能说这个妹不错么 - 密密麻麻
win10 64位,处理后会留下原压缩包... - 平行进口车
以前经常用火车,来支持一下。 - 天津网站建设
文章采集器,厉害了 - 骗子医院
这个可以试试! - qq昵称
这么好的帖子,必须顶起来!! - 哈尔滨舒家网
试用一下,看是否能用。希望能用。火车头业... - 誉非
这个下载下来是安装程序,不是视频教程啊。