开篇寄语
前几天,伯衡君曾经介绍了一篇有关投资的文章,以基金投资为例,具体可以参看下方的前情提要,本篇文章,则是继续沿着这篇文章探索更为一些深层次的内容,那就是如何获得一种能够超越大多数人见识的方法,除了一定的天资过人的少数人外,那么最容易达成这种目的的方法就是所谓的见多识广,即消息的获得快而及时,此前,伯衡君也介绍过有关rss获取消息的方式,但是在金融领域,则是远远不够的……
前情提要
- 《以基金为例探索如何科学地进行投资——提升价值》
- 《RSS订阅器inoreader一些使用心得(一)》
- 《RSS订阅器inoreader一些使用心得(二)》
- 《RSS订阅器inoreader一些使用心得(三)》
内容详情
在上一篇以基金投资为例的那篇文章,介绍了一个根本原理,即投资就是投资希望,未来盈利效果更佳的基金才更值得投资,那么就需要了解当下及未来的趋势,想知道未来的发展趋势,势必需要有大量的消息作为基础,这是一个长期而又需要有足够的判断能力才能做到的。
而在瞬息万变的金融领域,消息的更快获取,则能够让你得到或者失去足够多的财富。
试举一例,在几年前,美国制裁中兴这条消息,在美国发出接近一天的时间后,中国大陆的媒体才有所报道,那时候股市已经闭市,想要出逃的股民不幸沦为了被割的韭菜,这足以让投资者明白,消息的滞后性的可怕。
通过rss获取消息确实是一个不错的方法,但是实效性确实也有些缓慢,短则5分钟,长则30分钟,那怕只有5分钟,期间错过的机会会有多少呢?
所以就需要自制一个爬虫机制,每分钟或者每几秒钟就获取一次消息。
伯衡君就用nodejs自制了一个这种的爬虫,每30秒爬取一次信息,获取足够多的资讯,将新消息排在前面,筛选掉重复的内容。将每天爬取的结果,自动生成一个html文件,以方便历史查询,如下图所示:
我将爬虫部署在VPS,使用PM2运行,然后通过网页访问内容,一目了然,具体可以参看下图:
因为涉及商业机密(目前有100多个财经网站爬取中),伯衡君就只分享三个网站爬虫的代码好了,分别是腾讯新闻财经频道,网易新闻商业频道以及新浪新闻财经频道,代码如下:
var http = require('http'); var async = require("async"); var request = require('request'); var cheerio = require('cheerio'); const utf8 = require('utf8'); var fs = require('fs'); var year = new Date().getFullYear(); var month = new Date().getMonth() + 1; var days = new Date().getDate(); var tdays = year + '-' + String(month).padStart(2, "0") + '-' + String(days).padStart(2, "0"); var selectArr = []; //Sohu News const options_sohu = { uri: 'https://bird.ioliu.cn/v1?url=https://business.sohu.com/', method: 'GET', headers: { 'Content-Type': 'text/html; charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' } }; //Sina News const options_163 = { uri: 'https://bird.ioliu.cn/v1?url=https://money.163.com', method: 'GET', headers: { 'Content-Type': 'text/html; charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' } }; //Tencent News var requests = [{ url: 'https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=finance&srv_id=pc&offset=0&limit=100&strategy=1&ext={%22pool%22:[%22hot%22],%22is_filter%22:2,%22check_type%22:true}', }, ]; setInterval(() => { var hours = new Date().getHours(); var minutes = new Date().getMinutes(); var seconds = new Date().getSeconds(); var tims = String(hours).padStart(2, "0") + ":" + String(minutes).padStart(2, "0") + ":" + String(seconds).padStart(2, "0"); request(options_sohu, function(err, res, body) { if (err) { console.log(err); } else { const $ = cheerio.load(body.replace(/\\/g, "")); $('.z-main-1_mid a').each(function() { selectArr.push(`<li>${$(this).text()}</li>`) }); $('.s-two_left_btm_left a').each(function() { selectArr.push(`<li>${$(this).text()}</li>`) }) selectArr = [...new Set(selectArr)]; } request(options_163, function(err, res, body) { if (err) { console.log(err); } else { const $ = cheerio.load(body.replace(/\\/g, "")); $('li a p').each(function() { let resin = $(this).text().trim().replace(/[nt]/g, "") if (resin.length != 0 && resin != '上证指数' && resin != '深证成指' && resin != '沪深300') { selectArr.push(`<li>${resin}</li>`) } }); selectArr = [...new Set(selectArr)]; } async.map(requests, function(obj, callback) { // iterator function request(obj, function(error, response, body) { if (!error && response.statusCode == 200) { // transform data here or pass it on body = JSON.parse(body); callback(null, body); } else { callback(error || response.statusCode); } }); }, function(err, results) { if (err) { console.log(err) } else { for (var i = 0; i < results.length; i++) { for (let a of results[i].data.list) { selectArr.push(`<li>${a.title}</li>`) } } } selectArr = [...new Set(selectArr)].filter(x => x.indexOf('网易经济学家') == -1 && x.indexOf('致辞') == -1 && x.indexOf('峰会') == -1); fs.writeFile(`${tdays}.html`, `<h1>财经摘要</h1><h4 style="margin-bottom:10px;">新闻总数:${selectArr.length} 更新时间:${tims}</h4>` + selectArr.reverse().join(""), function(err) { if (err) throw err; }); }); }); }); }, 5000); http.createServer(function(req, res) { fs.readFile(`${tdays}.html`, function(err, data) { res.setHeader("Content-Type", "text/html; charset=utf-8"); res.end(data); }) }).listen(43219);
以上代码可以自行增删添改,这样一来,能够为你的科学投资提供坚实的信息层面的基础,让你的投资更有把握从中盈利。
一定要扩充足够的消息源,同时至少掌握两门以上外语为佳,伯衡君对英语,中国普通话和日语颇为熟稔,所以财经消息则是以这三种语言为主。
后续进展
伯衡君的一位读者就根据本篇文章而在20天的时间内收益率达到了9%,具体可以参看下方文章:
- 我的微信
- 微信扫一扫加好友
- 我的微信公众号
- 扫描关注公众号