大佬教程收集整理的这篇文章主要介绍了node.js – 使用xpath和cheerio获取元素,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
xpath = '/html/body/div/div[2]/div/h1/span'
我的DOM通过fs模块加载到cheerio中(因为我在本地存储了这个网页):
var file = fs.readFileSync( "aaa.html" ) var inDom = cheerio.load( file )
然后我试图通过每个xpath部分迭代,获取dom树的元素,如果名称和元素编号匹配则检查它的子项,如果它们匹配,则将rez存储为此mathed元素.然后我继续挖掘新的xpath部分.代码看起来像这样,但它无法得到我想要的东西,因为在我得到第@L_975_0@mach并将rez设置为匹配元素之后,在下一个for循环周期中,这个新元素似乎没有任何子元素.
var rez = inDom('html'); var xpath = inXpath.split( "/" ); for( var i = iterateStart; i < xpath.length; i++ ) { var SELEctor = xpath[ i ].split('[')[0]; var matches = xpath[ i ].match(/\[(.*?)\]/); var child = 0; if( matches ) { child = matches[ 1 ]; } for( var k = 0; k < rez.length; k++ ) { var found = false var curE = rez[ k ] for( var p = 0; p < curE.children.length; p++ ) { var curE_child = curE.children[ p ] if( curE_child.name = SELEctor ) { if( child > 0 ) { child-- } else { rez = curE_child found = true break } } } if( found ) { break } } }
任何人都可以使用提到的node.js模块帮助我使用代码吗?
Cheerio提供了更高级别的API来查找您应该使用的元素.
var html = fs.readFileSync('aaa.html') var $= cheerio.load(html) var SELEctor = 'div' // some SELEctor here which I can tune to the example html page var parent = $(SELEctor) var childSELEctor = 'p' // some other SELEctor var children = parent.find(childSELEctor)
以上是大佬教程为你收集整理的node.js – 使用xpath和cheerio获取元素全部内容,希望文章能够帮你解决node.js – 使用xpath和cheerio获取元素所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。