-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathwho-she-is.js
84 lines (72 loc) · 1.9 KB
/
who-she-is.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
const Fanfou = require('fanfou-sdk');
const async = require('async');
const {
CONSUMER_KEY: consumerKey,
CONSUMER_SECRET: consumerSecret,
FANFOU_USERNAME: username,
FANFOU_PASSWORD: password
} = require('./config');
const ff = new Fanfou({
consumerKey,
consumerSecret,
username,
password
});
(async () => {
await ff.xauth();
const user = await ff.get('/users/show');
const {
followers_count: followersCount,
friends_count: friendsCount
} = user;
const foPages = Math.ceil(followersCount / 60);
const frPages = Math.ceil(friendsCount / 60);
const foP = Array.from({length: foPages}, (v, i) => i + 1);
const frP = Array.from({length: frPages}, (v, i) => i + 1);
let fullUsers = [];
async.eachLimit(foP, 20, (page, cb) => {
ff.get('/users/followers', {page, count: 60})
.then(list => {
const users = list.filter(u => {
return u.followers_count > 2000 && u.followers_count < 3000 && u.friends_count > 0 && u.friends_count < 100;
}).map(u => {
return {id: u.id, name: u.name, uid: u.unique_id};
});
fullUsers = fullUsers.concat(users);
cb();
})
.catch(error => {
console.log(error.message);
cb();
});
}, error => {
if (error) {
console.log(error);
} else {
console.log(fullUsers.map(u => `${u.name} ${u.id}`));
}
});
let fullFriends = [];
async.eachLimit(frP, 20, (page, cb) => {
ff.get('/users/friends', {page, count: 60})
.then(list => {
const users = list.filter(u => {
return u.followers_count > 2000 && u.followers_count < 3000 && u.friends_count > 0 && u.friends_count < 100;
}).map(u => {
return {id: u.id, name: u.name, uid: u.unique_id};
});
fullFriends = fullFriends.concat(users);
cb();
})
.catch(error => {
console.log(error.message);
cb();
});
}, error => {
if (error) {
console.log(error);
} else {
console.log(fullFriends.map(u => `${u.name} ${u.id}`));
}
});
})();