Я пытаюсь извлечь только элементы внутри имен классов pod pod--rounded
.
Элементы, которые я хочу, находятся в разделе «Мои списки» на этом сайте
Пакет Phantom NPM можно найти здесь .
var phantom = require("phantom");
const cheerio = require('cheerio')
var _ph, _page, _outObj;
phantom.create().then(function(ph){
_ph = ph;
return _ph.createPage();
}).then(function(page){
_page = page;
return _page.open('https://www.bhgre.com/Better-Homes-and-Gardens-Real-Estate-Big-Hill-5569c/Suzan-Jackson-300497a');
}).then(function(status){
console.log(status);
return _page.property('content')
}).then(function(content){
const $ = cheerio.load(content)
console.log($('div, pod pod--rounded'));
_page.close();
_ph.exit();
}).catch(function(e){
console.log(e);
});
Весь html возвращается, если консольный журнал просто content
. Я думаю, у меня проблемы с пониманием логики c Cheerio. Когда я пытаюсь использовать Cheerio для разбора вещей, я получаю нечто, отчасти похожее на это ...
'x-attribsPrefix': [Object: null prototype] {},
children: [ [Object], [Object], [Object] ],
parent:
{ type: 'tag',
name: 'td',
namespace: 'http://www.w3.org/1999/xhtml',
attribs: [Object],
'x-attribsNamespace': [Object],
'x-attribsPrefix': [Object],
children: [Array],
parent: [Object],
prev: null,
...
Что это за объект? Это JSON?
Если в вашем браузере вы должны были go на сайт , «проверить» элемент «Мои списки», щелкните правой кнопкой мыши на div pod pod--rounded
и скопируйте Элемент у вас будет именно то, что я хочу, чтобы Node извлекал со страницы. Просто все html внутри этого деления.