Php 刮取时隐藏的范围值
我正在尝试使用xpath在pokerstars.co.uk上获取在线玩家的数量:Php 刮取时隐藏的范围值,php,xpath,screen-scraping,Php,Xpath,Screen Scraping,我正在尝试使用xpath在pokerstars.co.uk上获取在线玩家的数量: //*[@id="ncPlayers"] 但是span[id=ncPlayers]的内容是空白的,当我查看pokerstars.co.uk的源代码时,内容也是隐藏的,他们如何做到这一点,我如何绕过它?他们用javascript填充了整个span。所以它不包含在页面的HTML源代码中,只包含在javascript的DOM中。您可以获取ajax请求,它接收玩家的数量。他们用javascript填充整个范围。所以它不包
//*[@id="ncPlayers"]
但是
span[id=ncPlayers]
的内容是空白的,当我查看pokerstars.co.uk的源代码时,内容也是隐藏的,他们如何做到这一点,我如何绕过它?他们用javascript填充了整个span。所以它不包含在页面的HTML源代码中,只包含在javascript的DOM中。您可以获取ajax请求,它接收玩家的数量。他们用javascript填充整个范围。所以它不包含在页面的HTML源代码中,只包含在javascript的DOM中。您可以获取ajax请求,它接收玩家的数量。他们可能会用javascript填充整个范围
或者在javascript中静态声明,或者使用javascript从服务器请求(通过GET或POST请求,通过使用jQuery或其他javascript库)。在第一种情况下,您可以刮取javascript并提取数字。在第二种情况下,您可以自己执行请求并解析返回的JSON或任何数据
无论哪种方式,您都必须深入了解网站上使用的javascript源代码
多亏了Brendan,我访问了该站点,发现该站点从中加载了JSON内容
http://www.psimg.com/datafeed/dyn_banners/summary.json.js
它们可能会用javascript填充跨度 或者在javascript中静态声明,或者使用javascript从服务器请求(通过GET或POST请求,通过使用jQuery或其他javascript库)。在第一种情况下,您可以刮取javascript并提取数字。在第二种情况下,您可以自己执行请求并解析返回的JSON或任何数据 无论哪种方式,您都必须深入了解网站上使用的javascript源代码 多亏了Brendan,我访问了该站点,发现该站点从中加载了JSON内容
http://www.psimg.com/datafeed/dyn_banners/summary.json.js
按照@WouterH的建议对JS源代码进行了一点挖掘,找到了一个解决方案按照@WouterH的建议对JS源代码进行了一点挖掘,找到了一个解决方案