Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: (Nodejs) Scraping skripti ei suorita tiettyä osaa

Multibyte [09.01.2018 12:54:04]

#

Moi

Tein tämmöisen skriptin, joka lukee tiedostosta avainsanan, hakee googlesta tulokset ja lataa tuloksien 1.osuman tallennetaakseen ko. sivun koneelle.

Onglemana on vain se, ettei sivunlatausta ja tallennusta suoriteta lainkaan.
Se tulostaa ainoastaan luetun tiedoston rivin sisällön eikä mitään suoriteta
const scrape = new GoogleScraper(options); jälkeen.

Olen kyllä käyttänyt tuota ao. scraper skriptiä ja todennut sen toimivaksi.
En vain ymmärrä, että miksei sitä ajeta.
Varmaan joku promise hässäkkä...

Ja ei, ei tule mihinkään tuotantoon vain omaan käyttöön :)

var rd = readline.createInterface({
    input: fs.createReadStream(filepath),
    output: process.stdout,
    console: false
});

rd.on('line', function (line) {

    var options = {
        keyword: line,
        language: "fi",
        tld: "fi",
        results: 1
    };

    // Toimii tähän saakka
    const  scrape = new GoogleScraper(options);


    scrape.getGoogleLinks.then(function (result_urls) {
        request(result_urls[0], function (error, response, html) {
            if (!error) {

                var $ = cheerio.load(html);
                fs.writeFile(line + '.html', $.html(), function (err) {

                    console.log('File ' + line + '.html successfully written!');
                    setTimeout(1000);

                })

            }
        })
    }).catch(function (e) {
        console.log(e);
    });
});

Lebe80 [09.01.2018 13:33:21]

#

Oletko debugannu vaikka näin?

scrape.getGoogleLinks.then(function (result_urls) {

               // pois kaikki ylimäärinen, jotta syyllinen löytyy
                    console.log(["päästiin tänne asti", result_urls]);
                    setTimeout(1000);


    }).catch(function (e) {
        console.log(e);
    });

Multibyte [09.01.2018 14:00:57]

#

Lebe80 kirjoitti:

Oletko debugannu vaikka näin?

Sillä kyselinkin, kun ei mikään tulostu tuon scrape "lohkon" sisällä.

kalppi [09.01.2018 14:56:23]

#

Onko getGooglelinks funktio, mikä kenties pitäisi peräti suorittaa? (scrape.getGoogleLinks().then...)

Multibyte [09.01.2018 15:11:02]

#

kalppi kirjoitti:

Onko getGooglelinks funktio, mikä kenties pitäisi peräti suorittaa? (scrape.getGoogleLinks().then...)

Sepä hyvinkin. Se on noden paketti "google-search" eikä omaa tuotantoa.
Toimi hyvin eri järjestelyssä, mutta nyt kun se olisi pitänyt valjastaa aikuisten oikeasti hommiin, niin ei.

Lisäys:

Kokeilin vaihtaa Pyyttoniin, mutta sekin oli aika savotta.
Lopulta tein tuommosen 20 rivisen ratkaisun, mutta...
Sitten havaitsin, että ne osoitteethan on jollain tapaa obfuskoituja :rolleyes:

Jottain tässä nyt tarttis keksiä...

Multibyte [10.01.2018 08:44:35]

#

Eilen selvisi sen verran, että kietasemalla tuon funktioksi se alkoi laulamaan:

var asd = function(){
scrape.getGoogleLinks.then(function (result_urls) {

               // pois kaikki ylimäärinen, jotta syyllinen löytyy
                    console.log(["päästiin tänne asti", result_urls]);
                    setTimeout(1000);


    }).catch(function (e) {
        console.log(e);
    });
}
asd();

Mutta koko homma menikin uusiksi, kun ei tuohon mitään Googlea tarvinnutkaan.
Ja lisäksi se alkoi melko pian kysellä Captchaan vastauksia...

Multibyte [10.01.2018 15:51:27]

#

No ei siinä kauaa mennyt, että eikö se toinenkin olisi alkanut CAPTCHAA vaatimaan.

Otetaan sitten tor käyttöön, kun eihän tässä mikään kiirekään ole.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta