Nel caso generale, se il sito Web è SEO friendly, è possibile farlo spoofing della stringa dell'agente utente di un crawler web. Questo restituisce un DOM reso che può essere analizzato da Cheerio.
Nel caso specifico - Instagram restituisce un DOM renderizzato sui suoi siti Web mobili. Spoof della stringa dell'agente utente di un telefono cellulare e puoi analizzare i dati che vengono restituiti.
var options = {
url: user.instagram_url,
headers: {
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4'
}
};
request(options, function(error, response, html) {
if (!error) {
console.log('Scraper running on Instagram user page.');
// Use Cheerio to load the page.
var $ = cheerio.load(html);
// Code to parse the DOM here
}
}
fonte
2015-04-18 13:01:27
Nessun codice, nessun messaggio di errore esatto, nessuna procedura esatta per riprodurre, sto cercando di indovinare che ti manca [how-to-ask] (http://stackoverflow.com/help/how-to- Chiedere). Certo, con la tua tastiera e il tuo debugger puoi raschiare anche il sito web costruito con 'React' con' Cheerio'. Ma potresti aver bisogno di uno strumento più potente come 'PhantomJS' o' SeleniumHQ' in grado di eseguire script, attendere la loro esecuzione ecc. – xmojmr
Questa è una domanda concettuale con una risposta binaria - grazie per essere inutile. –
Caro @Kyle, la disponibilità è basata sull'opinione pubblica. Credo che la tua domanda non sia abbastanza buona e tu possa migliorarla. Non vedo un "concetto" nella tua domanda. La risposta binaria è sì, è possibile. Ma cosa intendi esattamente facendo il debug del documento? Quale documento? Qual è il messaggio di errore? jsFiddle da riprodurre? – xmojmr