大家好,欢迎来到IT知识分享网。
声明: 本博文和相关代码仅供个人学习使用。
需求
现在购物网站越来越多,优惠常常有,但是又不一定正好被你撞见,而且每天上网逛商城也挺浪费时间的。偶然看到优惠信息了吧,又已经过期或者被秒杀光了。所以我想做一个程序能够定时在网站上搜索相关产品的优惠信息,在抓到信息后第一时间通知自己。去所有电商网站抓取肯定不现实,最方便的做法就是直接去类似“什么值得买”或者”买个便宜货”这类的消息聚合网站上提取信息啦。
程序要做到的:
- 定时抓取相关关键词的优惠信息
- 发现新的优惠发送微信通知(这里使用微信企业号开发平台)
- 已经发送过的信息不再发送第二次
首先先把最终效果展示一下 :
已经发送过的信息不会重复发送
微信会收到优惠信息的标题,发布时间以及连接地址,这样就可以直接在手机端打开查看了。
程序相关设计
模块设计
大致分为:HTTP处理、文件处理、微信接口三个部分。简要介绍一下,具体代码可以看附录的Github项目。
HTTP处理
需要实现项目如下:
- 简单的http的GET\POST请求
- 处理网页DOM文档,将优惠信息提取出来
- 设计优惠信息的数据结构
具体代码不贴了,GET\POST代码网上一大堆。处理DOM文档主要用的jsoup,文档也是一大堆。优惠信息主要只记录标题、详情、日期、时间、URL连接这些内容。
文件处理
只要实现:将优惠信息的数据列表存成文件、从文件中读取数据列表即可。简单接口如下:
//读取 public static List<FoundItem> read() throws FileNotFoundException, IOException; //写入 public static void write(List<FoundItem> items) throws IOException;
微信
//获取token用Http get即可,在地址中带上corpId, corpsecret字符串即可<
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139805.html