zoukankan      html  css  js  c++  java
  • 标题党之---我是如何通过这一段代码赚了两百块钱的故事

    标题党之—我是如何通过这一段代码赚了两百块钱的故事

    絮絮叨叨

    其实如果能够相对快速的获得第一手消息和通过这个消息还会衍生出什么影响 这样的判断很重要啊。故事背景是前段时间做了一个热点消息获取的程序。然后每天给我推送最新的热点消息,有几个热点消息多次出现,巧了的是逛知乎也看到类似话题的谈论,其实就是之前肺炎早期的时候和伊朗二把手的事件。大致就是导致我去买了医药和军工的基金,也就赚了200块。尽管我也说不清我赚的钱和这些有没有关系。 不管怎么说,自己没有头脑风暴的能力推测出会带来什么影响,那么便只能就提高自己获得消息和速度和筛选消息。本篇就是一个提高获得消息速度的方式之一吧。之后也有一个构思好的七七八八的基金筛选的方式。 年纪打了,说话就絮絮叨叨的了。

    正文

    我们常见的百度和微博热搜就是相对快速的一首消息来源。如下页面

    image-20200512214813196 image-20200512214906038

    通过代码获得消息列表

      public List<String> getBaiduHotTopic() {
            List<String>  result =new ArrayList<>();
            Document document = null;
            try {
                document = Jsoup.connect("http://top.baidu.com/buzz?b=1&c=513&fr=topbuzz_b1_c513")
                        .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36")
                        .timeout(5 * 1000).get();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            int size=0;
            Elements elementsByClass = document.getElementsByClass("list-title");
            if(elementsByClass.size()>30){
                size=30;
            }
            for(int i=0;i<size;i++){
                Element element = elementsByClass.get(i);
                result.add(element.text());
            }
            return result;
        }
    
      public List<String> getWeiboHotTopic() {
    
            List<String>  result =new ArrayList<>();
            Document document = null;
            try {
                document = Jsoup.connect("https://s.weibo.com/top/summary?Refer=top_hot")
                        .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36")
                        .timeout(5 * 1000).get();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            int size=0;
            Elements elementsByClass = document.getElementsByClass("td-02");
            if(elementsByClass.size()>30){
                size=30;
            }
            for(int i=0;i<size;i++){
                Element element = elementsByClass.get(i);
                result.add(element.text());
            }
            return result;
        }
    

    发送消息

    获得的消息列表铜鼓邮寄也好,短信也好。能发给自己看到就好。

    public void run(ApplicationArguments args) throws Exception {
            System.out.println("开始自动采集data----");
            while(true){
                Calendar calendar = Calendar.getInstance();
                int i = calendar.get(Calendar.HOUR_OF_DAY);
                if(i==9 || i==14 || i==20){
                    getBaidHotTopicAndSendEmail();
                    getWeiboHotTopicAndSendEmail();
                    TimeUnit.HOURS.sleep(2);
                }else{
                    TimeUnit.SECONDS.sleep(30);
                }
            }
        }
    
        public  void getBaidHotTopicAndSendEmail(){
    
            StringBuilder content =new StringBuilder();
            System.err.println("ApplicationRunner------------");
            List<String> baiduHotTopic = baiduSerivce.getBaiduHotTopic();
            for (String s : baiduHotTopic) {
                content.append(s).append("
    ");
            }
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom(from);
            message.setTo("xxxx@qq.com");
            message.setSubject("百度热搜");
            message.setText(content.toString());
            jms.send(message);
    
        }
    
        public void getWeiboHotTopicAndSendEmail(){
            StringBuilder content =new StringBuilder();
            System.err.println("ApplicationRunner------------");
            List<String> baiduHotTopic = weiboService.getWeiboHotTopic();
            for (String s : baiduHotTopic) {
                content.append(s).append("
    ");
            }
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom(from);
            //改成收件人的邮箱
            message.setTo("xxxx@qq.com");
            message.setSubject("微博");
            message.setText(content.toString());
            jms.send(message);
        }
    
    

    大致效果如下,可是消息筛选始终是挥之不去的大问题。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84n8p9XN-1589333268569)(https://i.loli.net/2020/05/12/pKQYoeaItnhrwMO.png)]

    具体的代码在github连接里面

    今天是512,一晃也10多年了。中国加油,如果有奇迹,那一定是中国红

    里面](https://github.com/fangyuandoit/ShareProject/tree/master/HotTopicSpider)

    今天是512,一晃也10多年了。中国加油,如果有奇迹,那一定是中国红

  • 相关阅读:
    常用功能测试点的测试用例
    如何设计功能测试测试用例
    管理小原则
    政党提供的公共产品是其存在的依据
    为什么人是根本?
    学问总分类
    和孩子沟通的开头常用语
    教育的核心对象是心中的那枚种子
    用目标激发动力,用计划控制落实,用梳理总结进行提高
    要想影响孩子第一位的是保证沟通畅通
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713779.html
Copyright © 2011-2022 走看看