Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 刮取时隐藏的范围值_Php_Xpath_Screen Scraping - Fatal编程技术网

Php 刮取时隐藏的范围值

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填充整个范围。所以它不包

我正在尝试使用xpath在pokerstars.co.uk上获取在线玩家的数量:

//*[@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源代码进行了一点挖掘,找到了一个解决方案