教程:优采云 采集器/DedeCMS文章模块
优采云 发布时间: 2022-11-24 21:39教程:优采云
采集器/DedeCMS文章模块
优采云
| 安装 | 主程序 | 子程序 | 应用扩展 | 模块开发 | 常问问题
首先安装 DedeCms 5.1。本例测试的DedeCMS网站地址:
本模块使用内置浏览器登录,所以不用写“登录设置”部分,现在直接写文章发布部分。这分为两个步骤。首先,获取列 ID。栏目ID是文章系统中栏目对应的一个值。它可以是数字或其他。您无需获取此类别 ID。如果知道column ID,可以直接在release配置中填写相应的值或者将[category ID]替换为自己的label。以后注意把列ID的值写在规则里。而已。
要做的就是找一个收录
栏目ID的页面,在里面可以提取栏目ID和栏目名称,一般最好找到select,使用option下拉菜单制作栏目的页面, DeDeCms现在很多调用栏目,你可以找一个,现在以/dede/catalog_tree.php?f=form1&opall=1&v=typeid&bt=selbt1&c=0为例,看看具体的页面情况。
图1 生成静态页面中选定列的列表
这里有所有的列,代码也比较简单,大家可以看看,关于列的代码如下
√请在要选择的栏目打勾
不限栏目
test1
test12
test2
test3
列ID和列名的代码形式为onClick="ReSel(2,'test2'),其中2为列值,test2为列名,可以通过这种方式获取,具体可以先看图2,取开头结尾,然后程序会从中间提取的内容中找到>形状的内容,然后提取里面的值,然后得到类别的名称和具体值ID。
图2是刷新列表设置,解释一下各个名词的含义:
图2 获取列ID时的设置
刷新列表页也是用来获取表层页面的。源码页面一般不需要写,只有一些特殊的系统需要查源码。页面区域是一个选中的区域,里面的内容收录
分类信息。这里也可以留空,默认整个页面。类别列表名称和 ID 格式是最重要的。请注意,规则必须符合所有列表格式。当然,它只能用于获取想要的类别或列。
使用以上设置获取类别ID和类别名称。具体可以参考图3效果图,注意在网站/cms根地址填写的地址(设为地址A)和图2刷新列表页面地址(设为地址B)添加(即A+B),也就是页面的实际地址。其他地方也是一样,都是A加上模块中的地址或后缀。
图3 刷新列表效果
现在让我们发布一篇文章来做“文章发布参数”这块。直接进入发布文章页面。
查看网页属性获取发布页面地址 /dede/catalog_do.php?channelid=1&cid=1&dopost=addArchives
查看本页面源码,注意不要关闭,以后用得着。先发一篇文章,注意把标题或者内容写好,建议全部用英文字母写,因为有些系统会对发布的文字进行不同的编码,英文一般不会变。详情请参考图4。
图4 发表时文章标题或内容的建议写法
对于某些部分,如果不想写或者想为空,可以像图4源一样,写文章的时候不加,发布的时候再抓取数据包。每一项写好后,打开Winsock Expert。参见图5,选择发布文章的程序页面,不同浏览器的选择方法可能不同,只要选择了程序,就可以监控浏览器数据的发送状态。
" />
图5 使用Winsock Expert监控浏览器数据传输
完成以上所有操作后,您可以单击“确定”。注意,点击确定后,会很快暂停Winsock Expert中的抓包,查看获取到的数据,因为有些系统数据发送速度非常快,可以发现Winsock Expert中的数据没有post数据。查看捕获的数据,有关详细信息,请参见图 6。
图6 使用Winsock Expert获取的浏览器发送的数据
看选中的行,有一行是post字样的,就是你要的信息。其中,看最下面的内容,就是浏览器发送过来的数据。一些发送的数据是用邮局的,而有些则不是。看具体含义
POST /dede51/dede/action/article_add_action.php
这是邮寄地址
Referer: http://127.0.0.1/dede51/dede/catalog_do.php?channelid=1&cid=1&dopost=addArchives
这是源页面。去掉前面的URL部分就是源地址。
把上面的网址写进发表地址的后缀和来源页面的后缀,看看下面得到的浏览器发送的数据。以下是获取到的数据内容:
这里是获取的post数据,省略了部分内容。
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="channelid"
1
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="title"
caijitt
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="redirecturl"
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="tag"
Caijitag
………………………………中间这部分略去,因为数据很多………………………
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="arcrank"
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="ishtml"
1
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="description"
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="keywords"
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="likeid"
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="imageField"
<p>
" />
确定
-----------------------------7d8271202203c0—
这些内容是什么意思呢?我们以下边的内容为例:
-----------------------------7d8271202203c0
Content-Disposition: form-data; name="ishtml"
1
</p>
这是一个表单项,名称是html,值为1,现在在源码中可以看到
发布选项:
生成HTML
仅动态浏览
大家可以知道,这里的1是生成静态的。在制作最终的帖子内容时,是这样的格式:
表单项名=值&表单项名=值
这样,当ishtml=2时,表示动态发布。更多的含义可以从源码中看出。
合并上面的数据提取,将title替换为[label:title],将content替换为[label:content],其他类似。会得到
channelid=1&title=[标签:标题]&redirecturl=&tag=[标签:TAG]&source=&writer=&litpic=&picname=&typeid=1
&dede_addonfields=&remote=1&spsize=5&body=[标签:内容]&shorttitle=&arcatt=0&typeid2=0&templet=
&pubdate=2008-07-18 03:46:53&money=0&sortup=0&color=&arcrank=0&ishtml=1&description=&keywords=
&likeid=&imageField=确定
另外注意pubdate=2008-07-18 03:46:53是发布时间,因为每次手动发布都不一样,可以设置一个tag让它取值时间,比如pubdate=[ 标签: time],也可以直接从发布页面源码获取,发布源页面源码在发布开始时保存。这时候就可以使用login random value这个标签,其实就是从一个页面获取一些参数。make pubdate=[login random value 1],在随机值获取和UBB中定义并获取“login random value 1”,可以先看看图7
图7 随机值获取及ubb设置
在源代码中是
发布时间:
两边都可以
其他一些参数,也可以指定固定值,比如writer,可以固定为writer=小明,也可以使用tags,writer=[tag:author],也可以设置使用其他tags根据要求。
所有标签在发布前都将被替换或处理。
在添加WEB发布配置中测试模块正确性中测试发布,可以正常发布,发布后会返回“成功发布文章:”字样,可以将这些字作为发布成功标识码. 具体见图8。当然,你也可以故意制造一些错误,得到“发行错误识别码”,这样在发行错误的时候就可以知道原因,修改相关设置。下面是基本完成的模块:
图8 文章发布参数设置
最后一部分是解释保护。说明是增加一些注意事项,使用说明等,如果是保护的,可以加密码,对帮助别人写模块有保护作用。在系统模块名称的底部,可以写适用的系统,请写版本号。如图9所示
图 9 说明了保护和其他设置
参考来源 优采云
采集
器手册导航
安装:
系统安装
主要程序:
子程序:
应用开发:
数据库发布模块编辑制作| 外部编程插件开发
模块开发:
DedeCMS文章模块|PHPWind论坛模块|Discuz论坛模块
常问问题:
干货教程:新手使用优采云
发布接口如何采集文章教程
前沿:
如果你对优采云
一无所知,你最好去网上学习一下优采云
采集
的小知识。本人不是高手,所以鼓起勇气写了出来,至少能用。这里就不教采集
规则怎么写了,因为写法太多了,问我也不知道,优采云
相关文件夹里提供的发布接口有内置的-投资发布文章,支持远程抓图、本地化、发布文章时间设置(10-70分钟随机)。用户只需要关注优采云
的标题和内容,参数值为title(标题)和content(内容)。
第一步:在站点设置中设置优采云
免登录发布接口的全局变量值:
第二步:上传发布界面覆盖程序根目录:
第三步:登录优采云
软件后,导入release模块”
下图更多下拉-选择导入:
导入后:
" />
上图中数字1填写的是你在网站后台设置的全局变量值。
2 选择utf-8编码。
在 3 处填写您的网站域名,不要使用反斜杠“/”。
4个选项不需要登录
5次点击获取列表--选择你需要存储的类别
6. 为当前发布模块写一个名字,后续采集任务模块会用到。
最后点击保存配置按钮。
----------
" />
下面解释一下导入采集任务:
新建任务组后,导入该组下的任务规则(import tasks to this group):
选择我们的采集作业规则(.ljobx 文件):
下一步:双击规则项
单击第 3 步:修改帖子内容设置
修改您发布的类别:
最后保存:
然后右键开始任务采集: