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的工作进行程序设计分析
完成文章保存和草稿保存相关程序流程分析
首先我们打开WordPress登录到控制台后随便保存草稿和文章,然后导出数据库中posts表增加内容如下:
在上面的数据中我们已经删除了文章内容的数据(数据量太大,不方便查阅)。然后我们仔细分析上面的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
通过上面的对比我们大致可以得出这样一个结论:
文章编辑完成发布后,会留下一个初始版本的记录和一个正式发布版本的记录。
正式发布的文章和文章历史记录的主要区别如下:
草稿:
ID为323、325、326、327的均为草稿,且为同一篇草稿。
具体的不同区别也和上面的类似,所以说我们可以自行整理下即可。
小结:
文章和草稿都是有完整的版本记录。
文章和草稿的格式类似。
草稿分为自动草稿和手动草稿。
版本记录也是完整的记录,只是一些关键的字段改变了下。
上面的语句能够查找出来公开的文章,文章ID一目了然。
同时我们观察数据库可以得出跟文章的归类相关的数据库有:
wp_terms
wp_term_taxonomy
wp_term_relationships
但是这么多表都是文章分类相关的东西,那么文章分类又分为什么些呢?按照WordPress的简单构架支撑大量的数据来看,那么我们可以肯定文章标签和目录分类肯定是在一起的。所以我们先看最根本的wp_terms。
上面这张表是我线上服务器上面的wp_term表,可能我们暂时不明白什么意思,不过问题不大。我们接着看wp_term_taxonomy。
通过上面这种表我们就可以明白了term_id所对应的name分别是什么用的,他们分别有文章分组、文章标签、链接标记等。
但是说这么多都没把上面文章的文章分类在哪找到,所以我们接着看wp_term_relationships表里面的东西。
表里面数据还有很多此处暂时省略。
上面表中的object_id顾名思义就是说对象的ID,说明它不单是文章也还有其他分类的信息。
我们再看看我们线上的wp_posts(文章)表,里面的简略内容如下:
其实数据不需要那么多,我们只需要一丢丢数据简单对比就能知道结果了。
文章ID为9和11的文章的term_taxonomy_id分别为:4、6、4、6
term_taxonomy_id为4和6的term_id和taxonomy分别为:
最后我们在wp_terms这个表中可以看到term_id分别为4和6的分别是
所以最后我们通过这样就可以明白分类信息的大概查找结构,文章分类的大概查找如下:
文章id ➡ wp_term_relationships中的object_id对应的term_taxonomy_id ➡ wp_term_taxonomy的ID可以看到分别是什么分类同时可以查找到term_id ➡ 最后在wp_term表中根据term_id可以查找到具体的名称。
至此分类信息基本查找完成。
1.文章和草稿只是一些关键信息的不同
2.文章和草稿都有完整的历史记录
3.文章分类在文章关系表中
4.文章关系表包含了文章目录、文章标签等
5.文章其他属性都可以通过先在WordPress上面执行后逆向观察数据库窥到一二
java网络文章博客抓取系统_java 后端博客系统文章系统——No5相关推荐
- java网络文章博客抓取系统_java 后端博客系统文章系统——No3
工具 IDE为idea16* JDK环境为1.8 gradle构建,版本:2.14.1 Mysql版本为5.5.27 Tomcat版本为7.0.52 流程图绘制(xmind) 建模分析软件PowerD ...
- JAVA+网络数据包的抓取与分析实验
一.实验目的 熟悉TC P/IP数据包的结构. 掌握Wireshark的使用方法. 能够利用JNet Pcap编程实现数据包的抓取与分析. 二.实验准备 1.通过抓包,可以进行网络故障分析.流量监控. ...
- java网络文章博客抓取系统_java 后端博客系统文章系统——No6
工具 IDE为idea16 JDK环境为1.8 gradle构建,版本:2.14.1 Mysql版本为5.5.27 Tomcat版本为7.0.52 流程图绘制(xmind) 建模分析软件PowerDe ...
- 如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间
如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间 如何控制Yahoo! Slurp蜘蛛的抓取频度 2009年08月13日 星期四 5:56 上周末豆瓣的阿北给我电话:最近你们雅 ...
- 网络漫画爬虫:抓取漫画章节和图片
目录 摘要 1. 介绍 2. 环境准备 安装Python和相应库 3. 爬虫基础知识 HTTP请求和响应 解析网页内容 Robots.txt文件 4. 抓取漫画章节 选择目标网站 发送HTTP请求 解 ...
- 基于Java的阿里妈妈数据抓取技术
基于Java的阿里妈妈数据抓取技术 前言: 对于需要登录的网站爬虫最大的困难就是需要登录,然后才能获取到数据,如微博,阿里妈妈,webqq等.之前也有看过使用浏览器登录到网站后直接从浏览器中获取coo ...
- php 采集qq空间,php使用curl抓取qq空间的访客信息示例_php技巧
这篇文章主要介绍了php使用curl抓取qq空间的访客信息示例,需要的朋友可以参考下 config.php<?php define('APP_DIR', dirname(__FILE__)); ...
- java socket抓取资源_Java 通过 Socket 的形式抓取网页内容
package com.hmw.net; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IO ...
- UC头条(大鱼)文章评论内容抓取
下面以某一篇文章为例,分析UC头条(大鱼)文章评论内容抓取: 首先我们点击进入上面的这一篇文章,然后拉到评论内容区,通过抓包分析发现其评论接口为: https://m.uczzd.cn/iflow/a ...
- 22.网络爬虫—APP数据抓取详讲
网络爬虫-APP数据抓取详讲 Fiddler 工作原理 安装完成Fiddler后的配置 前提条件 工具配置 手机数据抓取 Fiddler手机端配置 手机端操作 实战演示 后记 前言:
最新文章
- laravel中查看执行的SQL语句
- 元旦福利 | Python、机器学习、TensorFlow 图书送一波
- 登录mysql报错2059,navicat连接mysql报错2059如何解决
- 在宝塔环境下安装VUE 及webpack
- 每日程序C语言30-static作用
- 同步现象 心理学_非心理专业背景的人,如何成为心理学家或心理咨询师?
- ABAP runtime error CALL_FUNCTION_ILL_DECFLOAT_LEN
- (vue基础试炼_07)Vue实例生命周期函数
- jquery.form.js java_教javascript函数和jquery函数的使用$(form).submit(function()
- 11. 搭建一个完整的K8S集群
- 2016.08.15
- 线程的故事:3 位“母亲”成就了优秀的我!
- 【实战项目惜时App项目总结分析】Vue-cli3+Vant UI+Vue-element-admin+Egg.js+Mysql
- 微信小程序云开发:上传图片、视频到云存储指定目录并渲染到页面上
- windows 7 开机启动提示bcd错误修复方法
- 爬虫学习笔记1:爬虫基本概念
- 阿里云、百度云、腾讯云、AWS、微软Azure、华为云、金山云等云服务商产品的差异是啥?
- Word插入Latex公式的几种方式~(TeXsWord、EqualX、Aurora、向Office插入LaTeX公式的工具)...
- ABAC权限控制学习
- 穷人和富人的思维方式