Kyl*_*dha 7 node.js web-scraping cheerio reactjs
我正试图用Node.js/Cheerio刮掉Instagram(用React构建).调试文档显示返回的对象,但它看起来不像典型的响应.
我猜这与React有关.有没有办法绕过这个,拉动渲染的DOM来解析Cheerio?或者我完全错过了什么?
提前致谢.
在一般情况下 - 如果网站是SEO友好的,您可以通过欺骗网络爬虫的用户代理字符串来实现.这将返回一个可由Cheerio解析的呈现DOM.
在特定情况下 - Instagram在其移动网站上返回呈现的DOM.欺骗手机的用户代理字符串,您可以解析返回的数据.
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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8664 次 |
| 最近记录: |