moonshade 0.0.2 moonshade: ^0.0.2 copied to clipboard
A Universal Distributed Data Collection Framework
import 'dart:async';
import 'dart:core';
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
import 'package:moonshade/moonshade.dart' as ms;
Future<Null> main() async {
var client = ms.Client('localhost', 50051, 'anonymous', 'anonymous');
var data =
(await http.get('https://www.imdb.com/chart/top?ref_=nv_mv_250')).body;
var titleRe = new RegExp("([^<>]*)</a>\n <s");
var titleList = titleRe.allMatches(data).toList();
var yearRe = new RegExp("\">\\(([0-9]*)");
var yearList = yearRe.allMatches(data).toList();
var rateRe = new RegExp("(...) bas");
var rateList = rateRe.allMatches(data).toList();
for (var i = 0; i != 250; ++i) {
var title = titleList[i].group(1);
var year = int.parse(yearList[i].group(1));
var rate = double.parse(rateList[i].group(1));
await client.insertOne(
"imdb",
"moonshade",
"imdb",
new JsonEncoder()
.convert({"Title": title, "Year": year, "Rate": rate}));
}
client.shutdown();
}