我试图仅提取类名pod pod--rounded
中的元素。我想要的元素在this site]上的“我的列表”部分中
可以在here中找到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); });
如果控制台日志仅为
content
,则返回整个html。我认为我在理解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吗?
[如果在浏览器中,您要转到site,“检查”“我的清单”元素,请右键单击div pod pod--rounded
,然后复制元素,您将拥有我想要Node从页面中提取的内容。只是该div内的所有html。
我试图仅提取类名称pod pod中的元素-四舍五入。我想要的元素在此站点上的“我的列表”部分中。可以在此处找到Phantom NPM软件包。 var ...
我认为您的选择器应从div, pod pod--rounded
更改为div.pod.pod--rounded
。并根据cheerio's documents: