java网络文章博客抓取系统_java 后端博客系统文章系统——No5

工具

IDE为idea16

JDK环境为1.8

gradle构建,版本:2.14.1

Mysql版本为5.5.27

Tomcat版本为7.0.52

流程图绘制(xmind)

建模分析软件PowerDesigner16.5

数据库工具MySQLWorkBench,版本:6.3.7build

本期目标

根据WordPress的工作进行程序设计分析

完成文章保存和草稿保存相关程序流程分析

d99c164a608b86eb724d70642e850d09.png

首先我们打开WordPress登录到控制台后随便保存草稿和文章,然后导出数据库中posts表增加内容如下:

1dd8dea851099825a4e939e0b55c21a6.png

在上面的数据中我们已经删除了文章内容的数据(数据量太大,不方便查阅)。然后我们仔细分析上面的json数据,我们可以得出结论如下:

文章:

ID为329和328的表示文章,且为同一篇文章(编辑完成立即发布)

不同字段为:

ID

post_date

post_date_gmt

post_status

comment_status

ping_status

post_name

post_modified

post_modified_gmt

post_parent

post_type

通过上面的对比我们大致可以得出这样一个结论:

文章编辑完成发布后,会留下一个初始版本的记录和一个正式发布版本的记录。

正式发布的文章和文章历史记录的主要区别如下:

8c5d561af8852360b5699f5b8eaad8df.png

草稿:

ID为323、325、326、327的均为草稿,且为同一篇草稿。

具体的不同区别也和上面的类似,所以说我们可以自行整理下即可。

小结:

文章和草稿都是有完整的版本记录。

文章和草稿的格式类似。

草稿分为自动草稿和手动草稿。

版本记录也是完整的记录,只是一些关键的字段改变了下。

40c9a5e9735dacb98bff7a0f4be19185.png

985b3f49f361325536e3fd6e72c56915.png

上面的语句能够查找出来公开的文章,文章ID一目了然。

同时我们观察数据库可以得出跟文章的归类相关的数据库有:

wp_terms

wp_term_taxonomy

wp_term_relationships

但是这么多表都是文章分类相关的东西,那么文章分类又分为什么些呢?按照WordPress的简单构架支撑大量的数据来看,那么我们可以肯定文章标签和目录分类肯定是在一起的。所以我们先看最根本的wp_terms。

34b54266297e481d6439f88b91a71724.png

上面这张表是我线上服务器上面的wp_term表,可能我们暂时不明白什么意思,不过问题不大。我们接着看wp_term_taxonomy。

6409398548891a26ea65868226f012a2.png

54c9a291eea5c86ce2356267b4c2dfdc.png

通过上面这种表我们就可以明白了term_id所对应的name分别是什么用的,他们分别有文章分组、文章标签、链接标记等。

但是说这么多都没把上面文章的文章分类在哪找到,所以我们接着看wp_term_relationships表里面的东西。

4e766a138483873d8d5ccb21de2cb376.png

表里面数据还有很多此处暂时省略。

上面表中的object_id顾名思义就是说对象的ID,说明它不单是文章也还有其他分类的信息。

我们再看看我们线上的wp_posts(文章)表,里面的简略内容如下:

0920e9db7419c4d495b000c4060cb813.png

其实数据不需要那么多,我们只需要一丢丢数据简单对比就能知道结果了。

文章ID为9和11的文章的term_taxonomy_id分别为:4、6、4、6

term_taxonomy_id为4和6的term_id和taxonomy分别为:

ff934217c55236b1dc15a1037c138572.png

最后我们在wp_terms这个表中可以看到term_id分别为4和6的分别是

8c3ac0cd8815d7a8bc3509f017216c7d.png

所以最后我们通过这样就可以明白分类信息的大概查找结构,文章分类的大概查找如下:

文章id ➡ wp_term_relationships中的object_id对应的term_taxonomy_id ➡ wp_term_taxonomy的ID可以看到分别是什么分类同时可以查找到term_id ➡ 最后在wp_term表中根据term_id可以查找到具体的名称。

至此分类信息基本查找完成。

babdc7ee00daab66f0e875cd89e09194.png

1.文章和草稿只是一些关键信息的不同

2.文章和草稿都有完整的历史记录

3.文章分类在文章关系表中

4.文章关系表包含了文章目录、文章标签等

5.文章其他属性都可以通过先在WordPress上面执行后逆向观察数据库窥到一二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值