Lep pozdrav vsem.
Naletel sem na problem, kjer želim v javascriptu z moduloma 'cheerio' in 'request' poscrapat source kodo neke spletne strani. Zadeva mi je celo uspela, ampak mi deluje samo v terminalu na lokalnem pc-ju, ne pa tudi, če isto kodo zalaufam z browserjem.
test.js (deluje):
var request = require('request');
var cheerio = require('cheerio');
console.log("bla1");
request('https://news.ycombinator.com', function (error, response, html) {
console.log(html);
});
test.html (ne deluje):
<html>
<head>
</head>
<body>
<script>
document.write("bla1");
var request = require('request');
var cheerio = require('cheerio');
document.write("bla2");
request('https://news.ycombinator.com', function (error, response, html) {
document.write(html);
});
</script>
</body>
</html>
(koda je identična, edino console.log funkcije so zamenjane z document.write, ker želim izpisovat v browserju, ne pa v terminalu)
Z navadnimi document.write("blabla") sem testiral, na kateri točki se zatakne, in ugotovil, da pri importanju knjižnic (tam kjer sta request in cheerio).
Zanima me:
- Kako sploh pravilno importat knjižnice? V .js fajlu mi ista stvar gre, v .html pa ne.
- So morda v browserju kakšne omejitve, ki mi preprečujejo scrapanje?
- Sem ga kje drugje zeznil?
Mogoče se sliši butasto, ampak prvič imam opravka z Javascriptom in že da mi je preko terminala ratalo, sem zapravil cel dan.
Much appreciated!