我有网页抓取代码,这是在C# .NET核心2与HTML敏捷包实现的。
我们将大部分服务器移植到了node.js上。唯一剩下的部分就是这个web抓取部分。我目前正在尝试用Cheerio/jQuery来复制这一点,但我不太熟悉jQuery语法。
什么等同于
DocumentNode.Descendants("table")
.LastOrDefault(t => t.InnerHtml.Contains("<td align=\"center\">Match</td>"))
我试着这样做:
$('table > tbody > tr > td > table > tbody')
但这还是给了我很多麻烦。我本质上是想抓取表的行。我想要的表应该包含该td字段。
谢谢!
编辑:
我没有添加html,而是粘贴了URL。这样我们就可以只检查元素了。我基本上想要获取Team Schedule
表,这样我就可以解析角色,并获得它们的Status
、Match
、Match Date
和该表的其余列。https://www.ustanorcal.com/teaminfo.asp?id=82607
我之前使用Descendants("table").LastOrDefault()
添加的代码片段可以做到这一点,但我不确定如何使用jQuery做到这一点。
发布于 2019-04-18 09:00:52
以下是我将如何做到这些:
// 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要干净得多
https://stackoverflow.com/questions/55737593
复制相似问题