欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal采集教程

drupal采集教程

sss 的头像
User offline. Last seen 32 周 5 天 ago. Offline
注册用户
加入: 2008-11-22
文章: 11
积分: 0

国内的cms程序基本上都内置了采集功能,像什么帝国啊,dede啊,国外的几乎没有。看到不少使用drupal的朋友都问到采集,在drupal中采集文章其实也很简单。
怎么采集就不说了,小蜜蜂、火车头,专业的采集程序很多,网上一大堆教程。说说在drupal中怎么采集入库。入库一般两种方式:直接导入数据库,web模拟提交。数据库直导,比较危险,副作用大,不过速度快。模拟提交,稳定安全,速度慢。
采取web模拟提交需要使用到drupal的node_save函数,这个函数是用来保存节点的,它会自动加载所有模块定义的nodeapi来完成一个节点的保存工作。下面创建一个模块,来实现数据的导入:
第一步,在sites/all/modules下面创建一个文件夹:test。
第二步,定义一个模块,创建一个文件,文件名:test.info,文件内容:

Quote:name = “test”
version = “6.x-1.x”
core = “6.x”

第三步,创建模块主文件,test.module,内容:

<?php
function test_menu() {
$items = array();

 

$items['test/set'] = array(
‘title’ => ‘Photos upload’,
‘page callback’ => ‘test_set’,
‘access arguments’ => array(‘administer nodes’),
‘type’ => MENU_NORMAL_ITEM,
);
return 
$items;
}function

 

test_set() {
$node = array();
$node['type'] = ’story’;//导入的类型
$node['title'] = ‘test’;//节点标题
$node['name'] = ‘admin’;//节点作者
$node['body'] = ‘111111111111111111111111111111111111′;//节点正文
//节点的其它更多内容,分类、评论选项、发表选项、发表时间等,都可以自由定义。

 

$node = (object)$node;
$node = node_submit($node);//提交数组的数据给node_save。
if(node_save($node)){
echo 
‘ok’;
}
}

?>

然后启用test模块。启用之后请访问 test/set,看看是不是增加了一个节点。方法就是这样,很简单。可以用火车头采集数据,提交到test/set这个地址来做入库处理。

原文;http://hi.500959.com/node/29

您对这篇文章的看法是:
普通分类: