引言

最近把火车头版本从v7.6更必为v9.8版本,发现从第一步采集url到内容的采集都有不少的变化,而且变化还是挺大的。好不容易适应了新版本的采集方法,来到内容发布这,又在火车头web发布模块这卡壳了。

GOOGLE,百度查了一圈,发现网上竟然都没有Typecho的火车头发布模块,有的都是非常陈旧的版本(V1.0?)。问题是现在Typecho已经更新到1.2有那么一段时间了,网上还是没流传相应的发布模块,只能自己去啃这块骨头了。

幸亏难度不高,想搞明白火车头是如何定制web发布模块的,其实真不难。弄好fiddler,你就成功一半了,再就是学习学习其他火车头的基本用法,就大差不差的能把发布模块搞出来。

步骤

1.打开抓包工具,这里选fiddler

Typecho 1.2版本火车头web发布模块制作教程(含下载)

没有的可以百度找一个可用的的中文版本。

2.打火车头采集器web发布模块

Typecho 1.2版本火车头web发布模块制作教程(含下载)

如果没有这些模块,可上火车头官网下载最新免费版

安装后,找到安装目录下的 Module目录复制抽所有模块到现在用的火车头安装目录下的Module目录,重新打开火车头即可。

Typecho 1.2版本火车头web发布模块制作教程(含下载)

3.在Web发布模块填入相应的数据

双击打开Typecho 10.8.15文章发布模块,也可以选择建立一个全新的web发布模块,只是这样的话,要全部变量按下图填一遍。

3.1 网站自动登录选项卡

Typecho 1.2版本火车头web发布模块制作教程(含下载)

这个选项卡要注意的是

  • 1.登录地址后缀来源页面后缀:图1,2位置
  • 2.登录数据:图片3位置
  • 3.登录成功失败标志:图4位置

网站自动登录选项卡的关键数据获取方式

登录地址后缀,登录成功,失败标志:要查看源代码找出

来源页面后缀,登录post数据:要用fiddler截取

3.1.1 登录地址后缀

跳转网站后台登录页,https://www.zctou.com/admin/login.php,查看源代码,找到对应 "登录地址后缀",

Typecho 1.2版本火车头web发布模块制作教程(含下载)

可以看到,<form action="https://www.zctou.com/index.php/action/login?_=bc08c2f11cd00b42" 这段代码。

"登录地址后缀"就是action=后的网址:/index.php/action/login?_=bc08c2f11cd00b42

提取网页随机数

注意看login?_=后面的bc08c2f11cd00b42网页随机数,在火车头发布模块中要单独提取:

Typecho 1.2版本火车头web发布模块制作教程(含下载)

这里的获取写法,采用的是“前后截取”,获得后,前面调用时直接用标签'网页随机值1'即可。

所以最终的 "登录地址后缀"是:/index.php/action/login?_=[网页随机值1]

特别注意以后网址中带有涉及随机数字的,皆可用网页随机数来填

从上就可以看出,火车头自带的发布模块,肯定是不能用的,因为登录页,数据发布页的网址都是不带随机数的。当然,这里是针对Typecho 1.2最新版来说的。

3.1.2 登录post数据

跳转Typecho 网站后台,成功登录一次,让fiddler抓取所有数据包。当然抓取前可先清除Fiddler先前所有抓取的数据,快键是ctr+x

Typecho 1.2版本火车头web发布模块制作教程(含下载)

找到数据包后,找到符合以下特征的数据

  • 1.结果为302的目录网站,这里例子是本站:zctou.com -- 上图1的位置
  • 2.右边分析框中,数据请求方式必须为post。 -- 点击上图3的位置

打开数据包,点击 记事本中查看,拉到最后,软件自动提取一段数据,复制后在火车头发布模块里自动导入。

Typecho 1.2版本火车头web发布模块制作教程(含下载)

复制上图数据

Typecho 1.2版本火车头web发布模块制作教程(含下载)

火车头会自动填入数据。

最后,只需要把表单值改为对应的标签即可。

3.1.3 来源页面后缀

Typecho 1.2版本火车头web发布模块制作教程(含下载)

还是fiddler那条数据,拉下去,找到referer即可:Referer: https://www.zctou.com/admin/login.php

来源页面后缀/admin/login.php

3.1.4 登录成功,失败标志

成功就是登录成功后的关键字,同理,失败标志就是登录失败的标志。都是查看源代码后找出来的字段

成功,肯定会跳转到控制台,那找些关键字即可,如“控制台”,“管理“,“概要“等。

Typecho 1.2版本火车头web发布模块制作教程(含下载)

失败,就是还在登录页,找关键字就是“下次自动登录”。

最终,网站自动登录选项卡应填写如下:

Typecho 1.2版本火车头web发布模块制作教程(含下载)

3.2 获取栏目列表

Typecho 1.2版本火车头web发布模块制作教程(含下载)

找一个加载快,又能获取目录分类的页面,采集相应的分类即可,这里用的是write-post.php页面

3.3内容发布参数

Typecho 1.2版本火车头web发布模块制作教程(含下载)

同理,一样要用fiddler抓取发布文章的网页数据包,方法同3.1网站自动登录选项卡的操作一样,仔细找出相应的字段即可。

这里要注意的是,发布文章时,所有想抓取的数据都应埋上,包括标签,网址slug等,还有就是,时间那要把时间格式修改成 Typecho1.2 支持的格式:yyyy-MM-dd HH:ss

4.测试模块

Web发布配置 - 选择发布模块填入网址与管理员帐号,测试获取列表,及进行发布测试

Typecho 1.2版本火车头web发布模块制作教程(含下载)

这里注意:

  • 1、网址的样式要与上面3.1填的网址后缀组成正确的网址。

    如上面填的是/admin/login.php这里的网站地址就不能再带/,不然组成的网址会带两个/,如:https://www.zctou.com//admin/login.php

  • 2、获取列表测试前,要先登录,登录成功后方能取得列表数据。
  • 3、最后就是发布测试,测试位置找到:上图位置5.

    Typecho 1.2版本火车头web发布模块制作教程(含下载)

测试成功与否,都可以直接在窗口中查到结果。

总结

火车头制作 Typecho1.2 最新版本的 Web发布模块相对来说比较简单,没登录验证码。

但要注意一下链接带“网页随机数”,如果不带“网页随机数”,经测试,均发布失败,即便模块测试显示成功发布,但网站的结果却是没正确发布的。

最后,如果懒得自己写,可以下载博主做好的 Typecho1.2 火车头Web发布模块

Typecho1.2 火车头Web发布模块

Typecho 1.2版本火车头web发布模块制作教程(含下载)

本文主要解决的是模块制作的问题,如果是新版本采集内容方面的问题,可参考: