我写了这段代码是为了从VK页面中获取一些元素。但它返回null。如果我需要获取姓名和个人资料照片,可以帮我吗?我为什么不能使用这个?

const request = require('request');
const cheerio = require('cheerio');

request('https://vk.com/durov', (err, res, html) => {
  if (!err && res.statusCode == 200) {
    const $ = cheerio.load(html);

    const nameElement = $('.page_block');

    console.log(nameElement.html());
  }
});

最佳答案

该站点似乎正在检查某些用户代理模板。例如,以下作品:

const request = require('request');
const cheerio = require('cheerio');

request({
    url: 'https://vk.com/durov',
    headers: {
        'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1'
    }
}, (err, res, html) => {
    if (!err && res.statusCode === 200) {
        var $ = cheerio.load(html);
        console.log($('.page_block').html());
    }
});

关于javascript - 无法使用Node JS + Cheerio抓取html元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53035911/

10-13 01:35