+ -
当前位置:首页 → 问答吧 → 转:php小偷程序的一些笔记

转:php小偷程序的一些笔记

时间:2010-02-01

来源:互联网

引用

最近花3个晚上时间写了一个小偷程序,之所以这么长时间是因为一切都是用php写的,php函数的强大再次让我兴奋….
关于小偷程序获取目标网页的方式很多常见的是fopen,curl。fopen就不必解释了。curl的功能很强大几乎是小偷程序首选。可以登录,甚至发送信息….可以搞群发或者帮你更新Twitter等等….
我的目标页是utf-8获取数据后需要转换为gb2312,来进行数据处理与存储,google一下发现很多复杂的方法实际上:mb_convert_encoding($data, “gb2312″, “utf-8″);就可以完美完成!
使用正则表达式提取一下某些数据,preg_match_all最好可以匹配出所以情况并输出数组,自己看看需要的数据在哪,然后提取就行了。
目标页我想要的内容里竟然有非常多的超链接,不可容忍,用正则表达式的方式搞定的话非累死你不可而且效率也不会很高,用:strip_tags($data,”<div><p><span><img><strong><br>”);在该函数的第一个选项里填上需要保留的html标签,没有填写的比如现在的<a><ul><li>等全部会被干掉而且效率超高…
获取的信息大部分是html代码由于转义问题执行sql的时候会失败:addslashes函数就可以自动为字符串添加转义。
分割目标页的时候explode比较好用 这里提供一个函数也是google来的在情况复杂目标页的情况下很好用


复制代码
  1. 1function cut($file, $from, $end) { 2$message = explode($from, $file); 3$message = explode($end, $message[2]); 4return $message[0];}



关于定时功能我想了一个笨办法哈哈,那就是我是需要每小时获取一次新数据的小偷程序,总不能使用计划任务吧以后转到linux平台咋办?每个用户访问都去偷一下 服务器又吃不消。我是这样的先使用data获取H也就是24小时制数字,比如19点执行完一次偷窃后写入现在的小时,以后每个用户访问的时候判断一下sql了存储的小时对比现在的小时如果不相等那就是超过一小时了,执行偷并再次更新时间为当前小时也就相等了下次不执行偷。如果偷取出现错误,我设置了错误处理情况是:不偷,但更新时间为当前然后发信给我提示。这样数据还可以继续被用户查看,又不影响下次执行,也许对方服务器一小时后就已经恢复了 嘎嘎不恢复我们也能挺住很久知道管理员插手处理…
怎么样有点意思的思路吧?按天按分钟按月按年都可以,但是按N小时等方法这就不适用了

作者: mob   发布时间: 2010-02-01

1 function cut($file, $from, $end) {  

2 $message = explode($from, $file);  

3 $message = explode($end, $message[2]);  

4 return $message[0];}

作者: mob   发布时间: 2010-02-01

相关阅读 更多

热门下载

更多