火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 4292|回复: 7

为什么那么多人用接口发布呢?

[复制链接]
发表于 2008-12-9 20:20:59 | 显示全部楼层 |阅读模式
phpcms不是一直都提供数据导入功能吗?

这个功能很好用,火车采集的数据可以直接导进去,效率要高很多



 楼主| 发表于 2008-12-9 20:21:56 | 显示全部楼层
就算是免费版本的火车也一样使得跟授权的功能差不多了
发表于 2008-12-9 22:19:48 | 显示全部楼层
楼主说的这种方法有教程没?
 楼主| 发表于 2008-12-9 23:11:44 | 显示全部楼层
你如果明白phpcms的数据导入功能就很简单了
火车采集的数据在data/任务名/SpiderResult.mdb

你用pc的access导入岂不是比web发布的效率高了N倍?
 楼主| 发表于 2008-12-9 23:13:12 | 显示全部楼层
这一个时间转换的函数 GmtToUnix 可能用得到,把它加到 phpcms的 include/global.func.php里面
  1. /** * fun.TimeApi.php
  2. * * GMT 系列 - 功能库接口 1
  3. * * 功能库名: 时间处理功能库接口
  4. * * 功能库内容介绍:
  5. * 1. 格林威治时间快速转时间戳
  6. * 2. 时间戳转格林威治时间
  7. * 3. 计算时间间隔
  8. * 4. 判断是否闰年
  9. * 5. 闰年间隔判断
  10. */ /** * 把格林威治时间转为时间戳 */
  11. function GmtToUnix($GmtDate)
  12. {
  13. $DateArr = explode(' ',$GmtDate); // 分割GMT日期为 日期 | 时间
  14. /* 在日期中取得年,月,日 */
  15. $pDate = split('[/.-]',$DateArr[0]);
  16. $Year = $pDate[0];
  17. $Month = $pDate[1];
  18. $Day = $pDate[2];
  19. /* 在时间中取得时,分,秒 */
  20. $pTime = split('[:.-]',$DateArr[1]);
  21. $Hour = $pTime[0];
  22. $Minute = $pTime[1];
  23. $Second = $pTime[2];
  24. if($Year == '' || !is_numeric($Year))
  25. $Year = 0;
  26. if($Month == '' || !is_numeric($Month))
  27. $Month = 0;
  28. if($Day == '' || !is_numeric($Day))
  29. $Day = 0;
  30. if($Hour == '' || !is_numeric($Hour))
  31. $Hour = 0;
  32. if($Minute == '' || !is_numeric($Minute))
  33. $Minute = 0;
  34. if($Second == '' || !is_numeric($Second))
  35. $Second = 0;
  36. return mktime($Hour,$Minute,$Second,$Month,$Day,$Year);
  37. }
  38. /** * 把时间戳转换为格林威治时间 *
  39. * 建议使用php自带的 gmdate / date */
  40. function UnixToGmt($format_string = "Y-m-d H:i:s" ,$UnixTime = 0)
  41. { return @gmdate($format_string,$UnixTime); }
  42. /** * 计算时间间隔 */
  43. function DiffDateTime($interval,$diff_datetime1,$diff_datetime2)
  44. {
  45. if(is_numeric($diff_datetime1) && !is_numeric($diff_datetime2))
  46. $_datetime1 = $diff_datetime1;
  47. $_datetime2 = GmtToUnix($diff_datetime2);
  48. if(!is_numeric($diff_datetime1) && is_numeric($diff_datetime2));
  49. $_datetime1 = GmtToUnix($diff_datetime1);
  50. $_datetime2 = $diff_datetime2;
  51. if(is_numeric($diff_datetime1) && is_numeric($diff_datetime2))
  52. $_datetime1 = $diff_datetime1;
  53. $_datetime2 = $diff_datetime2;
  54. if(!is_numeric($diff_datetime1) && is_numeric(!$diff_datetime2))
  55. $_datetime1 = GmtToUnix($diff_datetime1);
  56. $_datetime2 = GmtToUnix($diff_datetime2);
  57. $diffUnixSec = $_datetime1 - $_datetime2;
  58. switch ($interval)
  59. {
  60. case 'Y': return bcdiv($diffUnixSec, 31536000); break;
  61. case 'W': return bcdiv($diffUnixSec, 604800); break;
  62. case 'D': return bcdiv($diffUnixSec, 86400); break;
  63. case 'H': return bcdiv($diffUnixSec, 3600); break;
  64. case 'M': return bcdiv($diffUnixSec, 60); break;
  65. case 'S': return $diffUnixSec; break;
  66. default: return false;
  67. } }
  68. /** * 闰年判断 * @return boolean */
  69. function isLeapYear($Year)
  70. { if(bcmod($Year,4) == 0 && bcmod($Year,100) !== 0 || bcmod($Year,400) == 0)
  71. { return true; }
  72. else { return false; }
  73. }
  74. /** * 闰年间隔计算 */
  75. function NextLeapYear($Year,$return_year = false)
  76. { if($return_year)
  77. { return $Year + (4 - (int)bcmod($Year,4)); }
  78. else { return 4 - (int)bcmod($Year,4); }
  79. }
复制代码
 楼主| 发表于 2008-12-9 23:20:19 | 显示全部楼层
当然你是高级版本的火车可以用写直接入库模块,不过发现在大数据量的发布时还是没有pc直接导入效率高

你可以写你自己的函数将采集内容进行整理导入,在自由性上面导入的效果更好
发表于 2008-12-10 11:08:55 | 显示全部楼层
谢谢!你说的这个我暂时还不懂先学习下如何实现第一步:  火车采集的数据在data/任务名/SpiderResult.mdb
发表于 2008-12-11 22:42:50 | 显示全部楼层
楼主说的不错,可否详细说明
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-23 15:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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