Cheerio / jQuery 相当于 Descendants.LastOrDefault(HTML 敏捷包)
Cheerio / jQuery equivalent of Descendants.LastOrDefault (HTML Agility pack)
我有使用 HTML 敏捷包在 C# .NET Core 2 中实现的网络抓取代码。
我们将大部分服务器移植到了 node.js。唯一剩下的部分是这个网络抓取位。我目前正在尝试用 Cheerio/jQuery 复制它,但我不太熟悉 jQuery 语法。
相当于
DocumentNode.Descendants("table")
.LastOrDefault(t => t.InnerHtml.Contains("<td align=\"center\">Match</td>"))
我试过:
$('table > tbody > tr > td > table > tbody')
但这仍然给我很多身体。我基本上想获取 table 的行。我想要的 table 应该包含那个 td 字段。
谢谢!
编辑:
我没有添加 html,而是粘贴了 URL。这样我们就可以检查元素。我基本上想获取 Team Schedule
Table 以便我可以解析角色并获取它们的 Status
、Match
、Match Date
和其余列table。
https://www.ustanorcal.com/teaminfo.asp?id=82607
我之前可以使用 Descendants("table").LastOrDefault()
在上面的 post 中添加的片段来做到这一点,但我不确定如何使用 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 敏捷的东西要干净得多
我有使用 HTML 敏捷包在 C# .NET Core 2 中实现的网络抓取代码。
我们将大部分服务器移植到了 node.js。唯一剩下的部分是这个网络抓取位。我目前正在尝试用 Cheerio/jQuery 复制它,但我不太熟悉 jQuery 语法。
相当于
DocumentNode.Descendants("table")
.LastOrDefault(t => t.InnerHtml.Contains("<td align=\"center\">Match</td>"))
我试过:
$('table > tbody > tr > td > table > tbody')
但这仍然给我很多身体。我基本上想获取 table 的行。我想要的 table 应该包含那个 td 字段。
谢谢!
编辑:
我没有添加 html,而是粘贴了 URL。这样我们就可以检查元素。我基本上想获取 Team Schedule
Table 以便我可以解析角色并获取它们的 Status
、Match
、Match Date
和其余列table。
https://www.ustanorcal.com/teaminfo.asp?id=82607
我之前可以使用 Descendants("table").LastOrDefault()
在上面的 post 中添加的片段来做到这一点,但我不确定如何使用 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 敏捷的东西要干净得多