-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path5_Insights_Page_LLC.js
129 lines (108 loc) · 5.17 KB
/
5_Insights_Page_LLC.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/* Relever le nobmre de mentions J'aime, nombre d'abonnés, et nombre de vues
de la page FB LLC et les stocker dans la base de données
*/
import puppeteer from 'puppeteer'
import child_process from 'child_process'
import UpdateCookiesAmbassadeur from './src/UpdateCookiesAmbassadeur.js'
import getCookiesAmbassadeur from './src/getCookiesAmbassadeur.js'
import loginGoogle from './src/loginGoogle.js'
import scrapperPageLlc from './src/scrapperPageLlc.js'
import getLoginAmbassadeur from './src/getLoginAmbassadeur.js'
import getIdAmbassadeur from './src/getIdAmbassadeur.js'
import login from './src/login.js'
(async function () {
const prenom = process.argv[2]
const nom = process.argv[3]
const id_campagne = parseInt(process.argv[4])
var id_ambassadeur = 1
var page = null
var rapport = ''
process.stdin.resume();
process.stdin.on('data', async ( chunk) => {
const text = chunk.toString();
if (text.indexOf('quitter') != -1){
var cookies = await page.cookies()
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
await page.waitForTimeout(3000)
console.log(rapport)
console.log('\nAu revoir\n')
process.exit(1)
}
});
process.on('unhandledRejection', async (reason, promise) => {
var cookies = await page.cookies()
if (JSON.stringify(cookies, null, 2).localeCompare('[]') != 0){
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
await page.waitForTimeout(3000)
}
console.log('Unhandled Rejection at:', promise, 'reason:', reason);
const message = 'Il y a une crache. Relancer le script'
await page.evaluate(async message => {
await window.alert(message)
}, message)
const spawn = child_process.spawn
if (OS.indexOf('Linux') != -1){
const fini_spawn = spawn('notify-send', ['Script Craché']);
}else{
const exec = child_process.exec
const fini_exec = exec('start cmd /C "echo Script Craché && pause"')
}
console.log(rapport)
console.log('\nAu revoir\n')
process.exit(1)
});
if (process.argv.length < 5) {
console.log('Nombre d\'arguments est trop petit !\n')
await AfficherMenu()
}else if (nom && (await getIdAmbassadeur(nom)) && prenom && (await getLoginAmbassadeur(prenom)) && id_campagne) {
id_ambassadeur = await getIdAmbassadeur(nom)
const loginPassword = await getLoginAmbassadeur(prenom)
console.log('Debut Script')
const browser = await puppeteer.launch({
headless: false,
args: ["--no-sandbox","--disable-notifications"]
});
page = await browser.newPage()
const cookiestring = await getCookiesAmbassadeur(id_ambassadeur)
if (cookiestring){
var cookies = JSON.parse(cookiestring)
await page.setCookie(...cookies);
}
var OS = await page.evaluate(async message => {
var OS = "OS Inconnu";
if (navigator.appVersion.indexOf("Win")!=-1) OS = "Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OS = "MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OS = "Unix";
if (navigator.appVersion.indexOf("Linux")!=-1) OS = "Linux";
return OS
}, '')
await login(page,prenom,loginPassword)
console.log('\nfacebook')
const Ids = await scrapperPageLlc(page,id_campagne,rapport)
var cookies = await page.cookies();
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
const message = 'Script Fini'
await page.evaluate(async message => {
await window.alert(message)
}, message)
const spawn = child_process.spawn
if (OS.indexOf('Linux') != -1){
const fini_spawn = spawn('notify-send', ['Script Fini']);
}else{
const exec = child_process.exec
const fini_exec = exec('start cmd /C "echo Script Fini && pause"')
}
await page.waitForTimeout(30000)
}else {
console.log('Arguments non valides !\n')
await AfficherMenu()
}
//browser.close()
console.log('fini')
process.exit(1)
})();
function AfficherMenu(){
console.log('How To Use :\n')
console.log('node scrappePageLlc.js Prenom nom id_campagne\n')
console.log('Prenom : prenom de l\'ambassadeur de scrappe \nnom : nom de l\'ambassadeur de scrappe \nid_campagne : id de la campagne\n')
}