Cheerio / jQuery相当于Descendants.LastOrDefault(HTML Agility pack)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (30)

我有使用HTML Agility包在C#.NET Core 2中实现的Web抓取代码。

我们将大部分服务器移植到node.js. 唯一剩下的部分是这个网络刮痧位。我目前正试图用Cheerio / jQuery复制它,但我对jQuery语法不是很熟悉。

DocumentNode.Descendants("table")
            .LastOrDefault(t => t.InnerHtml.Contains("<td align=\"center\">Match</td>"))

我试过执行:

$('table > tbody > tr > td > table > tbody')

但这给了我很多tbodys。我基本上想抓住桌子的行。我想要的表应该包含该td字段。

谢谢!

编辑:

我没有添加html,而是粘贴了URL。这样我们就可以检查元素了。我基本上要抢Team Schedule表,所以我可以通过角色解析,并得到他们StatusMatchMatch Date和该表中的列的其余部分。 https://www.ustanorcal.com/teaminfo.asp?id=82607

我之前使用我在上面的帖子中添加的片段能够做到这一点Descendants("table").LastOrDefault(),但是我不知道如何用jQuery做到这一点。

提问于
用户回答回答于

如下

// team schedule rows:
$('table:has(b:contains("Team Schedule")) + table table tr')
// team roster rows:
$('table:has(b:contains("Team Roster")) + table table tr')

我认为这比HTML Agility要简洁得多

扫码关注云+社区

领取腾讯云代金券