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

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

火车头采集器教程之实战视频(二)——CMS(DEDE)在线发布模块的制作

[复制链接]
发表于 2007-4-19 12:58:14 | 显示全部楼层 |阅读模式
火车头采集器教程之实战视频(二)——CMS(DEDE)在线发布模块的制作(视频已传)

*******************************************************************************
火车头采集器教程之实战视频(二)——CMS(DEDE)在线发布模块的制作
Finishied by Victor QQ:99767290

******************************************************************************

        由于本教程是以实战演练为主的,所以对于基础知识部分,我们只能是粗放性的做一些讲解,等各位火车头乘客对一些基本概念和操作流程有个初步的人时候,我们在做一些技巧上的探讨,当然这也离不开我们自身的求知的欲望与火车头各位热心高手的帮助,,好了题外话就不说了,我门来讲一下今天课程的主要内容:

        1、了解在线发布的基本工作流程;
        2、掌握基本的在线发布模块的制作;

********************************************************************************************

一、了解CMS文章发布的基本工作流程

        说到火车头的在线发布流程,我们很容易想到,我们在诸如DEDECMS、PHPCMS等CMS(Content Manage System 内容管理系统)的后台发布一篇文章的基本流程,因为火车头在线发布的流程基本上是和我们通常进行的文章发布的流程是一样的,我们来实际操作一下:


视频“CMS文章发布”地址:www.allinlan.com/2-1.rar


通过上面的操作,我们可以对后台发布文章的基本流程做一下小结:

------------------------------------------------------------------------------

1、登陆后台

        a、输入访问后台管理的路径,这里是:

                               http://localhost/d31/dede/
   
         b、输入用户名和密码的相关信息,有的需输入验证码和Cookies有效期。

        c、登陆到后台管理页面。


   注:火车头在这里除了需要获取用户名、密码、验证码等信息、还需要获取Cookies信息(Cookies的概念我们在后边讲述。)。


---------------------------------------------------------------------------------

2、文章发布页面,这里是:

  

   http://localhost:/d31/dede/article_add.php?channelid=1


    在这个页面我们将会进行如下两类信息的操作录入:

    a、必要信息:文章标题,文章内容,文章所属栏目(通常情况是这样的)

    以上几个信息是必须输入的,否则,程序会阻止进程并提示进行录入;

    b、限制类必要信息——文章所属栏目

    这种信息的标志通常是以select下拉菜单定义的,它不像文章标题,文章内容这类选项,虽然必须,但是你可以随便写,系统不会也不可能也没必要提供你指定的或可以参考的选项。但是文章所属栏目,出于信息管理方便和系统的安全性,系统通常会让你指定所要发布信息的所属栏目。


    c、其他选项信息,如果我们没有特殊要求,可以不去理会。

    当然这个“不必理会”并不意味着其他的信息选项是不必填写的,事实上,有些信息是程序得以进行所必需的,但为了使用户在操作起来更快捷简便,程序会根据常理进行默认值得设置。

      如:发布时间,如果你不去选择,那么系统会默认信息发布(或采集发布)的当前时间;作者标签,系统会默认当前登陆用户名称....通常系统的默认值符合常理,是我们可以接受的。如果不喜欢,我们也可以自行选择设置。

      在根据自己需要对各项设置完毕后,我们就可以发布信息了。

      注意:我们文章栏目分类选择,,也在这个环节确定了
-----------------------------------------------------------------------------------

        至此,我们成功地发布了一条信息,我可以选择继续发布,也可以选择其他项目的管理或者直接退出,总之,我们是发布了我们所要发布的信息。

以下内容跟帖回复才能看到
==============================

********************************************************************************************

二、掌握基本的在线发布模块的制作

        通过第一部分的学习,我们了解了文章发布的流程,下面结合文章发布的流程,讲讲火车头在线发布模块制作工具的用法。此处我将以DEDECMS3.1正式版为例,进行讲解。

        火车头采集的流程是同文章发布流程一样的,那么我们上边所讲的那些条件同样也是火车头在线发布的基本条件。

        首先我们看一下,火车头在线发布么块工具的主界面——新建模块界面的构成,

        1、登陆设置(输入用户登录信息的界面)      

        2、刷新列表设置(文章分类列表设置的界面)

        3、随机值获取及UBB(CMS一般没有这项设置,通常是在BBS和Blog里有这种设置)

        4、文章发表参数(设置诸如“文章标题”、“文章内容”等信息)

        这与我们在第一部分所讲的CMS文章发布流程是一致的。


------------------------------------------------------------------
        但是我们发现一个文本域需要填写登陆POST数据,我们知道POST仅仅是一种HTTP的传递方式(Post是用来向服务器上传递数据,而Get是用来从服务器上获得数据。),那么它传递的究竟是什么样的数据信息呢,Cookies,就是我们先前提到的Cookies,这里我给出一个关于Cookies的概念,我向大家会更深刻的理解这个概念。

       日常生活(非网络时代)中,我们会把Cookies翻译为曲奇饼(西方的一种甜食)。但在网络时代,我们的IT精英又赋予了它一个新的概念,就是——

        将Cookies(Cookie)描述为是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。 Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,最重要的是让你不用输入 ID、密码就直接登录等等。

        这意味着什么呢,就是说我们访问后台时,输入的登陆信息就存在这个临时cookie并暂存于本地计算机中,当我们要浏览访问需要认证的网页内容时候,伴随着我们点击相应的链接地址,cookies就会被post到网站的服务器经认证通过,我们就可以浏览该网页了,如果这样说大家还不是很明白的话,那就拿火车头论坛的登陆页面为实例吧,我们发现在登陆页面里有Cookies有效期的select,我们选择“
浏览器进程”的选项,那么在登陆论坛后,重新启动机器后,再登陆论坛发现得重新输入用户信息,这里我们说得“浏览器进程”不是说我们关闭了浏览器的窗口进程就完毕。

        如果,我们选择Cookies有效期为1个月,并选择记住用户信息选项,那么如果没有意外的话,你在以后的一个月里我想是不会让你输入用户信息了,,呵呵,,当然一些论坛的Cookies选项的默认值就是“浏览器进程”。

        好了,对于Cookies的概念我们就掌握到这里,如果大家想深入学习,请参考相关资料吧。在这里我就不再赘述了。我们下边进行实际操作吧,,,

**********************************************************************************

准备工作


我的DEDECMS 的安装目录是 “d31”

启动火车头的模块制作工具“ModuleTools”并点击“新建模块”按钮,

然后启动“Websock Expert”。
(注意,,关掉杀毒软件)

********************************************************

登陆设置


---------------------------------------------------------------
        此处我们主要需要获得如下信息

                1、登陆地址后缀

                2、来源页面后缀

                3、验证码地址

                4、登陆POST数据

                5、登陆失败标志码

                6、成功登陆标志码

--------------------------------------------------------------------

        首先,我们获取一下  “登陆失败标志码”,    方法是测试用户信息错误的各种可能情况来获取。

        这里我们就不做演示了,直接给出结果,,大家自己测试吧,正确的数据如下:


            验证码不正确
            你的密码错误
            你的用户名不存在


            你也可以选择不去填写


------------------------------------------------------------------------

        然后我们再来确定一下   “验证码地址”:  我们通过查看  登陆页面的代码  来 查找  验证码的地址。


        我可以找到如下代码:“../include/vdimgck.php”


        由于火车头采集器的起始位置是网站根目录,所以这里的“..”可以去掉,这样就可以得到“3、验证码地址”了:“/include/vdimgck.php”

-----------------------------------------------------------------------------


        我们现在试着登陆后台,同时,启动“Websock Expert”对我们所用的浏览器进行数据截获。(注意,,关掉杀毒软件


(这里注意下,,当我们看到“Websock Expert”的“PacketsText”,出现POST...的代码后,我们应该及时点击“暂停”按钮,以免后面的无用信息将我们需要的信息覆盖。)

-----------------------------------------------------------------------------------------

        我们通http://localhost/d31/dede/article_add.php?channelid=1 来访问后台。

“登陆地址后缀”

        我们确定为“websock expert”中“Referer:http://localhost/d31”和“HTTP/1.1”之间的部分
        即    “/dede/login.php

同理,

“来源页面后缀”  

        我们取“websock expert”中“Referer:http://localhost/d31”和“Cookie: ”之间的部分   

        即“/dede/login.php?gotopage=%2Fd31%2Fdede%2Farticle_add.php%3Fchannelid%3D1


---------------------------------------------------------------------------------------------
登陆POST数据

        我们在“websock expert”里找到"gotopage"的代码这里的数据

            “gotopage=%2Fd31%2Fdede%2Farticle_add.php%3Fchannelid%3D1&dopost=login&userid=admin&pwd=admin&validate=ktxb&sm1=%B5%C7%C2%BC



        这就是“登陆POST数据”


        然后我们做一下替换处理,,,得到


gotopage=%2F[网站地址]%2Fdede%2Farticle_add.php%3Fchannelid%3D1&dopost=login&userid=[用户名]&pwd=[密码]&validate=[验证码]r&sm1=%B5%C7%C2%BC

-----------------------------------------------------------------------------------------------
“成功登陆标志码”

    在我们登陆成功的同时,我们已经看到浏览器的提示了“成功登陆,........”,这个提示就可以做为我们的“成功登陆标志码”,可以是全部,也可以是具有代表性的一部分,

    在这里我选择了:“成功登陆

    为了让大家更清楚地看到,我们再重新登陆一次。

    至此,我们模块的"登陆设置"已经完成。

    视频——“登陆设置”地址:www.allinlan.com/2-2.rar


*******************************************************************************************************

刷新列表设置


*************************************************

        此处我们主要需要获得如下信息

                1、刷新列表页面

                2、页面区域开始

                3、页面区域结束

                4、分类列表名称及ID格式


----------------------------------------------------

        这里主要是来确定,文章分类列表  所在页面的地址,,,以及 文章分类列表 所在的 区域 及 格式 ,来源页面 并不是很关键,,所以我们只需要确定 以上4项即可

刷新列表页面

        我们取文章发布页面http://localhost/d31/dede/article_add.php?channelid=1”中的相对路径,即

        “/dede/article_add.php?channelid=1


        其他三项,我们可以在http://localhost/d31/dede/article_add.php?channelid=1”的 源代码 中 查找 相应的 标志性代码 即可

        页面区域开始

请选择主分类


        页面区域结束

(只允许在白色选项的栏目中发布当前类型内容)


        分类列表名称及ID格式

<option value='[分类ID]' class='option3'>[分类名称]</option>



        好了刷新列表位置 设置已经完成

      
视频——“刷新列表位置”地址:www.allinlan.com/2-3.rar

**************************************************************8

随机值获取及UBB  设置


***************************************************************


        一般情况下,在CMS中,很少有随机值的出现,它通常出现在BBS及Blog中,这个设置我们在以后的BBS课程中学习,现在就不演示了。

**************************************************************8

文章发表参数  设置


***************************************************************


        我们要获取的数据如下

            1、发表地址后缀

            2、来源页面后缀

            3、发表POST数据

            4、发表错误标志码

            5、成功标志码

—————————————————————————————

        首先将浏览器定位http://localhost/d31/dede/article_add.php?channelid=1(登陆状态)

        然后输入要发表信息的字段数据,,必要数据,,,如文章标题、
文章主栏目及文章内容等数据。


        将“websock expert”定为于浏览器,,,点击文章发布页面的 确定 按钮,发表文章,,,及时暂停“websock expert”,获取相应数据,

发表地址后缀

        为“websock expert”中“POST /d31”和“HTTP/1.1”之间的数据,即

/dede/article_add_action.php


来源页面后缀  

        为“websock expert”中“Referer:http://localhost/d31”和“Cookie:” 之间的数据,即

/dede/article_add.php?channelid=1


发表POST数据

        为我点指的地方需要进行一下处理
        
        将“-----------------------------41184676334”替换为“”空

        将“Content-Disposition: form-data; name="”替换为“&”

        将“"”替换为“=”

       将“; filename===Content-Type: application/octet-stream”删除

        将“&pubdate=”后面的时间“2007-01-20 01:31:49”(这个值是系统的默认时间,是个变量哦)

        删除末尾的“--”;
   
        再将所有的字符串连接起来

        删除第一个“&”,

        得到如下数据

“&channelid=1&title=标题&redirecturl=&shorttitle=&arcatt=0&litpic=&picname=&source=&writer=&sortup=0&color=&arcrank=0&ishtml=1&description=&keywords=&pubdate=&money=0&typeid=1&typeid2=0&remote=1&autolitpic=1&sptype=hand&spsize=5&body=内容&imageField.x=41&imageField.y=8”

        进行相应的替换,就得到我们要的POST数据了,,,

channelid=1&title=[标签:标题]&redirecturl=&shorttitle=&arcatt=0&litpic=&picname=&source=&writer=[标签:作者]&sortup=0&color=&arcrank=0&ishtml=1&description=&keywords=[标签:keyword]&autokey=0&pubdate=[标签:时间]&money=0&typeid=[分类ID]&typeid2=0&autolitpic=1&sptype=hand&spsize=5&body=[标签:内容]&imageField.x=31&imageField.y=4 ”   



    关于以上代码的具体含义,火车头版主“6sky”,提供了一份,我转过来供大家参考

   
    文章标题:title=text
   
    推荐:iscommend=11
   
    加粗:isbold=5
   
    是否跳转网址:isjump=1
   
    跳转网址:redirecturl=text

    简略标题:shorttitle=text

    自定义属性:arcatt=(普通文档=0) / 滚动显示(att=1) / 头条推荐(att=2) / 幻灯片显(att=3)

    远程图片:ddisremote=1

    图片上传:litpic=

    在网站内选择:picname=

    文章来源:source=text

    作者:writer=text

    文章排序:sortup=默认排序0 / 置顶一周=7 / 置顶一个月=30 / 置顶三个月=90 / 置顶半年=180/置顶一年=360

    标题颜色:color=ffffff(text)
   
    阅读权限:arcrank=开放浏览=0 / 待审核稿件=-1 / 注册会员=10 / 中级会员=50 / 高级会员=100

    发布选项:ishtml=生成HTML=1 / 仅动态浏览=0

    文章摘要:description=text

    关键字:keywords=text

    自动关键字:autokey=1

    发布时间:pubdate=yyyy-mm-dd hh:mm:ss

    消费点数:money=text

    文章主栏目:typeid=text

    文章副栏目:typeid2=text

    下载远程图片和资源:remote=1

    删除非站内链接:dellink=1

    提取第一个图片为缩略图:autolitpic=1

    分页方式:sptype=手动分页=hand / 自动分页=auto

    自动分页大小:spsize=5(text)

    文章内容:body=text


    在这里十分感谢“6sky”版主的支!!!!!


    我们现在做的只是演示所以只替换几个必要的参数”“文章标题”“文章栏目”和“文章内容”


发表错误标志码

        至于错误的报纸码,我们可以做一下测试,比如我什么信息也不输入直接发布者就是一个错误标志码“文章标题不能为空”同理我们可以得到其他的标志码,,这里就不做演示了,,


文章标题不能为空
档案主栏目必须选择
请选择档案的主类别
对不起,您没有此权限


    你也可以选择不去填写


==============================
成功标志码


    “请选择你的后续操作:


        这个也可以“成功发布文章:”只要是具有唯一性的,,呵呵


        至此,模块制作已经完成,,需要完成最后一步就是命名,,


        输入系统模块名称及版本号,在为模块起一个比较酷的名字,,嘿嘿,,!!!!!

        
视频——“文章发布参数设置”地址:www.allinlan.com/2-4.com


**********************************************************************************
          本身写这个教程的目的也是为了初学者能够有个快速入门的途径,以往高手们总是一对一“上课”,感觉辛苦,还没有什么效果,,而且有些问题都是些初学者最基本的问题——只要认真一点都会的问题,那么这时候高手们除了“怒气不挣之外”,我想也无计可施,,,基于此,本人本着“牺牲我一个,幸福千万家”的革命精神,,在这里胡说八道,,写了这些文字,,呵呵,此其一,其二,本人也是初学者,只不过对Html和Css略知一二而已,采集这方面也是很初级的,所以教程也有很多漏洞,也希望各位高手能抛开私心,抱着“大河有水小河满”的态度去建设这个论坛,来帮小弟完善这个教程。在此小弟多些各位了!!!

        同时也希望各位在浏览本贴得同时能即使指正本贴不足之处赐教,或有什么不明白的问题,可以提出来,我不会的话,还有其他高手在,所以请大家用踊跃发言。


        附件里我只提供Websock Expert,就不再提供模块成品了,希望大家能通过这课的学习,自己试着做一做,今后如果,我有什么模块的需求的时候,大家也能给我提供几个,,呵呵

        好今天我们就讲到这里,,,

*************************************************************************
附件: [Websock Expert] WSE06b1.zip (2007-1-20 11:49, 254.09 K)
该附件被下载次数 417

评分

1

查看全部评分

发表于 2007-4-19 14:22:21 | 显示全部楼层
沙发!
 楼主| 发表于 2007-4-28 10:34:56 | 显示全部楼层

回复 #1 99767290 的帖子

自己占个位置
发表于 2007-5-6 21:04:26 | 显示全部楼层
人才啊,就是太难拉
发表于 2007-5-17 15:54:51 | 显示全部楼层
啊里啊多
发表于 2007-7-14 14:47:35 | 显示全部楼层
不知道能不能看的懂!!支持下!!
发表于 2007-10-21 10:22:12 | 显示全部楼层
呵呵呵
发表于 2008-2-12 21:59:30 | 显示全部楼层
正在努力学习
发表于 2008-2-14 09:59:15 | 显示全部楼层
谢谢了哦 学习一下
发表于 2008-2-14 21:55:51 | 显示全部楼层

不错,不错,适合新手。

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

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

GMT+8, 2026-4-2 22:16

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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