我正在尝试使用 xpath 在 pokerstars.co.uk 上获取在线玩家数量:
//*[@id="ncPlayers"]
但是内容span[id=ncPlayers]
是空白的,当我查看 pokerstars.co.uk 的源代码时,内容也被隐藏了,他们如何做到这一点以及我如何绕过它?
我正在尝试使用 xpath 在 pokerstars.co.uk 上获取在线玩家数量:
//*[@id="ncPlayers"]
但是内容span[id=ncPlayers]
是空白的,当我查看 pokerstars.co.uk 的源代码时,内容也被隐藏了,他们如何做到这一点以及我如何绕过它?
他们可能用 javascript 填充跨度。
或者他们在 javascript 中静态声明它,或者他们正在使用 javascript 从服务器请求(使用 GET 或 POST 请求,通过使用 jQuery 或其他一些 javascript 库)它。在第一种情况下,您可以抓取 javascript 并提取数字。在第二种情况下,您可以自己执行请求并解析返回的 JSON 或任何数据。
无论哪种方式,您都必须深入研究网站上使用的 javascript 源代码。
感谢 Brendan,我确实访问了该站点并发现该站点从
http://www.psimg.com/datafeed/dyn_banners/summary.json.js
他们用javascript填充跨度。所以它不包含在页面的 HTML 源代码中,只包含在 javascript 的 DOM 中。您可以获取接收玩家数量的 ajax 请求。