-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex-copy.js
More file actions
28 lines (26 loc) · 1.38 KB
/
Copy pathindex-copy.js
File metadata and controls
28 lines (26 loc) · 1.38 KB
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
const fs = require('fs');
var osmosis = require('osmosis'); //пак для парсинга
var savedData = [];
osmosis
.get('https://www.apple.com') //берем ссылку
.find('@href') //выборка по элементам
.set('link') // пишем тип
.log(console.log) //вывод в консоль (особенности osmosis)
.data(function (data) { //записываем данные которые взяли, регулярками делаем из относительного адреса абсолютные
if (/^#/.test(data.link)) {
data.link = " https://www.apple.com/" + data.link; // etc.
}
else if (/^\//.test(data.link)){
data.link = " https://www.apple.com" + data.link; // etc.;
}else if (/^\//.test(data.link)){
data.link = " https://www.notapple.com" + data.link; // etc.;
}
console.log(data);
savedData.push(data); //добавляем в массив наши данные
})
.done(function () { //записываем в data.json наш массив savedData преобразовывая его в JSON
fs.writeFile('data.json', JSON.stringify(savedData, null, 4), function (err) {
if (err) console.error(err)
else console.log('Data Saved to data.json file');
})
});