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


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

    絮絮叨叨

    其实如果能够相对快速的获得第一手消息和通过这个消息还会衍生出什么影响 这样的判断很重要啊。故事背景是前段时间做了一个热点消息获取的程序。然后每天给我推送最新的热点消息,有几个热点消息多次出现,巧了的是逛知乎也看到类似话题的谈论,其实就是之前肺炎早期的时候和伊朗二把手的事件。大致就是导致我去买了医药和军工的基金,也就赚了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多年了。中国加油,如果有奇迹,那一定是中国红

  • 相关阅读:
    Spinner用法与ListView用法
    ViewPager实现选项卡功能
    android:layout_weight的真实含义
    vb和vb.net事件机制
    go
    挨踢江湖之十一
    蓝桥杯-地铁换乘
    【Android LibGDX游戏引擎开发教程】第06期:图形图像的绘制(下)图片整合工具的使用
    Eclipse3.6 添加JUnit源代码
    【分享】如何使用sublime代码片段快速输入PHP头部版本声明
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713779.html
Copyright © 2020-2023  润新知