-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStarTrekGender.js
40 lines (28 loc) · 1.21 KB
/
StarTrekGender.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
const request = require("request"),
cheerio = require("cheerio");
const baseURL = 'http://chakoteya.net/StarTrek/', // change Star Trek to variable
episodes = [];
// created an array of episode URLs from Star Trek TOS
for (let episodeNumber = 1; episodeNumber <= 79; episodeNumber++)
episodes.push(baseURL + episodeNumber + '.htm');
// .forEach callback signature needed two parameters
const requestEpisodeURL = function(_, episodeNumber) {
const handleEpisodeResponse = function (error, response, body) {
if (error || response.statusCode !== 200) {
console.log('Red alert! Response code: ' + response.statusCode);
} else {
//the episode object
const it = {};
// load page into cheerio
$ = cheerio.load(body);
// turned keywords meta attribute into string
const keywordsText = $("meta[http-equiv='keywords']").attr("content");
const keywords = [];
keywords = keywordsText.split(', ');
console.log(keywords);
}
}; // handleEpisodeResponse()
request(episodes[episodeNumber], handleEpisodeResponse);
};
episodes.forEach(requestEpisodeURL); //fix request body
// eventually turn this into .map