使用JAVA程序打通dz程序和微信公号的处理过程记录

作者: admin 分类: 平凡生活,项目实例 发布时间: 2019-09-24 16:50  阅读: 107 views

背景说明

最近正好有时间,把之前的一个个站想完善下,开始筹划准备落实。由于了解一些SEO知识,且在逐渐的摸索过程中,感觉内容真的是非常重要的环节。很早之前做的一些试验太过随意且简单,所以这次通过一个开发计划完善下。一来是减少人工成本,二是能加强对技术的理解。第一阶段整体花费1个月左右的时间。

实施计划

整个流程是抓取法律知识进入到个站的discuz库,定时释放出来。然后通过关键字生成相关封面图片,最后调用微信公众平台的api开发接口进行数据的同步操作【历史数据入库,新数据同步到素材列表】。通过回复关键字等可快速查阅相关知识。

一是为了稳定的在个站输出内容;二是和公号的功能相结合做一个相关题材的内容输出(开通流量主功能可收一点小钱);三是用技术制作一套相关的功能体系方便后期的拓展;

实施记录

记录这个过程,主要是想对目前做的这件事进行结果验证。以及之后的复盘和整理。

因为,毕业之后、工作之初的几年内自己瞎搞了一些事情,感觉做的没头没尾。且没有长久的坚持做下去,很像‘鸡肋鸡肋..食之无味弃之可惜’的感觉。工作时间越久,无力感越强。==因为在别人看来只要是没有结果、没有赚到钱的事情,那么你所做的就都是一些无意义的事情。== 花这些时间不如去努力工作赚钱的话也不知道听了多少了。但是,跟着自己内心的想法去做一些事情好歹也是在活自己吧。大部分人拼了命的工作也只是在为了完成别人的梦想而已。可能在没有金钱、权力的支撑下,这些话显得很苍白。“你若成功了,放屁都有道理,你若失败了,再有道理都是放屁。”,无耐现实就是这样。管他的,做自己的事情吧,

以后的目标是尽可能以技术的方式解放人工成本,自动化、智能化的快速完成一些设想和实践。根据过程中的一些实际问题和困难进行调整变更。


在萌生本次的想法时,正好处于工作空档期有时间。且在最近的一段工作内容中有很多相关的技术可以利用。

一、通过搜集一些资料以内容为出发点,网罗一些目标用户。

自己生产内容太过费时且不具专业性,所以利用爬虫技术获取。前期分析了几个法律大站,发现以案例、案情为内容的篇幅居多。且分门别类的进行了整理,引导用户根据自己的需求进行查阅及搜索,因为与用户的搜索习惯贴合很紧,所以阅读量很高。排名靠前的网站也是做了很多长尾词优化的。在看看法律相关的公号,阅读量也很高。所以制定以法律为主的爬取、获取计划,进行相关资源的整理和入库。划分为国内现行法律、国外法律、古代法律罗列进行整理。

a. 先处理国内的,这个可选目标网站很多,利用webmagic框架 + selenium进行抓取。由于工作中也有需求抓取一些内容,所以这个工作比较顺手,还是比较简单(网站经常改版比较头疼)

b. 国外法律这个就比较难整理了。首先国家语言不一样,其次很多网站需要翻墙才能访问。现在找到一个目标网站,正准备代码相关收集。(处理中)

c. 古代法律这个最难了,但是如果能按照朝代整理出来。也是不小的成就感了。这个还在寻找突破口(去书店翻阅资料或网上查阅,也都是比较分散、零散的内容),看怎么减少工作量。

d. 其他资料,在上述三个正好之后的后续处理(暂放)

问题:

这里最主要的是对于信息更新的即时性及有效性,因为过时、无公信力的信息一般是不愿意看到的。所以怎样跟新更新的法律条例等是个必要的工作。所幸这个通过技术手段有多种方式可实现,我这里是通过数据对比的方式处理【抓取线上数据对比入库数据】

其次,是对于数据抓取的完整性和内链的有效性。谁都不希望读取的一篇文章是残缺不全的,这就考虑代码功底了。内链这个知识点业界很多都说做的最好非百度百科莫属了。这个涉及到关键词布局,权重的传递,内容阅读优化等方面了。当然不可能一步到位,涉及到方方面面的改动。我这里通过代码将不同类型的内容进行链接建设。

之后,是对于微信公号的建设。本身公号有说明不要发布皆知的法律条文、法规等公众内容,可能是认为这种信息泛滥吧。但是本着传播法律知识的目的还是厚颜无耻的把这些内容同步到了公号。本地搭建环境配置公号相关配置就可完成。

二、discuz的相关处理

本身有个discuz建站工具做好的网站,放在那多年,且闲置了3年。近期越是发现之前做的东西是个狗屁,略显幼稚,没有规划及正确有效的方案。所以先对这个dz程序做些系统性的调整。

a. 相关表整理,由于要打通php程序和java程序的数据,所以表结构必然要知道。我这里是通过java批量写入dz库中,通过定时定量释放有效数据【这涉及到搜索引擎的收录知识】。微信公号的数据也是由相关表进行导入【这里要注意数据的截断问题】。

b. discuz程序本身的处理,由于是php语言,很多不知道怎么处理,在以前调整的基础上简单处理。也算是把之前未做完的事情继续处理。

三、公号的相关处理

问题

首先肯定是环境问题,本地搭建好环境更容易调试处理。搭建过程在下方有给出。不仅可以测试公号的接口功能,还可以直接处理线上公号的数据。但是要注意本身公号的权限及功能(个人账号有些接口的使用限制)

其次是主要的消息回复功能和正文整理。根据用户的回复关键词进行匹配回复,这个首先需要让自己的库内容足够满足用户需求,其次是让用户知道自己应该输入什么词能获得自己想要的内容。这个需要全局的规划和整理。正文需要封面图,这样分享、群发的内容才更加友好,这里使用java匹配关键字统一生成,着实省去了很多劳动力。

四、服务器、域名的相关配置

我那尽职遵守的阿里云服务器,1核1G,40G硬盘大小。已经安装了php、mysql、nginx、tomcat等,还要新增一个springBoot项目,留给它的空间不多了。

root@iZ23xocuk3vZ:~# free -m
             total       used       free     shared    buffers     cached
Mem:           993        906         87          0         69        178
-/+ buffers/cache:        657        336
Swap:            0          0          0

java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms256m -Xmx256m -Xmn128m -Xss256k LawSpider-ol.jar &

可它还是坚强的启动起来了。在流量小的情况下,它还是能撑一段时间的。

问题

nginx的大名已存在许久,但是没有太多的用过,这次也通过实践,算是用过了nginx的端口转发配置,解决了多个程序公用80端口的需求。

域名的处理,二级域名可以有效利用起来处理一些需求。

服务器的投入,一年在服务器 + 域名的成本在1000多,根据后期的使用情况可以调整,还不算很大,在接受范围内。


五、解惑过程

附上相关环节问题、处理或实现

1. 整理分类相关知识体系(非技术)

目标知识体系相关文档

公号相关开发、对接文档

通过sql/代码向discuz数据库表中插入帖子所涉及的部分表,包括主题信息、分类信息、标签信息(不处理附件)

2. 相关环境搭建配置等

MAC系统中运行mysql+apache+php环境,方便快速搭建discuz,dedecms,wordpress环境等

mac系统搭建微信公众平台的开发测试环境,支持接口测试调用及ngrok、nginx的简单说明

SpringBoot项目导出可执行jar包,启动时报错:factory already defined

阿里云lmnp环境根据url配置端口转发可同时使用80端口访问php、java项目

3. 利用java解析pdf、word文档内容

JAVA中利用Docx4J组件操作word文档,进行docx格式文档的创建、写入、读取、转换html、图片处理示例、转换pdf

This file seems to be a binary doc/ppt/xls, not an encrypted OLE2 file containing a doc/pptx/xlsx

JAVA使用itextpdf文件,进行文件的创建流程、阅读加密、属性设置、中文显示处理、文档读取操作

4. java解析html元素

JAVA中使用selenium + Chrome驱动程序抓取页面内容时,碰到的一些问题及思考整理

selenium模拟浏览器操作时 element is not attached to the page document 等异常的处理

在JAVA中通过jsoup获取url中的html元素的简单代码示例

Jsoup解析html时,gzip编码格式出现的随机中文乱码问题处理

5. 其他基础编码或sql处理

一个简单例子说明链式编程的方法,可提升编程的可读性与简便性

mysql中判断字符串、列中是否包含某个字符并做截取返回

6. 批量化生成所需图片

利用JAVA的awt组件制作生成红底白字的图片,文字居中适应高度

补充

我了个擦,刚刚第一版完成,就碰到了个麻烦的事情。2019-09-25下午接到阿里云电话,需要整改个站,不能出现游戏、论坛信息。否则注销备案(怎么突然怎么严格了)。 让在10.7日之前处理完。 内容的事情得停一下了。开始处理整站迁移功能,擦娘匹西

2019-10-07这一天已经过去了,站没有被封掉,说明改版效果还是有的。已将联合国公约与宣言 400多篇收纳入库。通过前期的处理准备,后期整理起来还是比较快的。但是也碰到了一些问题,如编码问题、格式等问题。3天处理完这一系列内容。看着百度联盟每天0.01元的收入心里真是感慨万分。8年前的我,曾想着如果小站能每天1分钱的收入,就立马辞职,想办法去提高流量,但是那时候的自己根本没有找到路子、方式。一段时间的错误方式的无效坚持,傻啦吧唧的乐呵呵的弄到挺晚~。 现在达到那个目标了,就看精力能不能追的上我的年龄了。

制作的公号如下,还在完善中,欢迎关注及指出错误:

公号图片


   原创文章,转载请标明本文链接: 使用JAVA程序打通dz程序和微信公号的处理过程记录

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读