2012-11-30 28 views
0

让我开始说我对PHP几乎一无所知,但是,我认为这可能证明是我尝试做的最好的方法。我想从外部页面获取变量的值,以便我可以对其进行处理,以便在页面上创建图形和统计信息。我试图从(需要Facebook帐户)获取变量的示例页面是 - http://superherocity.klicknation.com/game/pages/battle_replay.php?battle=857337182从外部网页抓取变量值进行处理?

变量名称是fvars,它包含有关2名玩家用于攻击的数据,他们做了多少伤害,等等。最终,我想提供一个页面,其中一个玩家可以去插入他们的重播链接(如上图),并获得一个很好的整洁细节的战斗。

至少,如果有人能够向我解释如何在表单提交之后回显fvars的值,并以重播url作为输入,它将非常有用!我试着在这里查看一些PHP引用和其他帖子,但迄今为止已丢失。 :(

谢谢你的任何帮助或指导

+0

就在下面,我想通是行不通的 '' –

+0

不幸的是,只需获取该页面的内容,而不需要任何验证Cookie。不确定cookie是否可以工作,但您可以尝试bash wget评论。它允许你通过cookie。然后,你需要真正解析页面。该变量不会通过file_get_contents或wget自动设置。 – jchapa

+0

此页面如何工作 - http://www.shc-strategy.com/?这正是我想要做的。 :( –

回答

1

您可以得到任何网页的内容,像这样:

$homepage = file_get_contents('http://www.example.com/'); 
echo $homepage; 

,然后只用正则表达式或基本搜索找到你需要的变量在$首页。问题是,你需要通过Facebook登录。我知道目前没有办法做到这一动态与PHP。 迈克

编辑:发现一个SO问题,解决这个确切问题 - Scraping from a website that requires a login?

+0

登录件是不需要的,因为只有使用页面的用户已经登录了,所以如果我使用上面的命令将整个页面内容读入变量$ homepage,那么我可以引用包含的变量例如,如果我按照上面的命令使用echo fvars,它会输出fvars的值吗? –

+0

如果用户在本地浏览器上作为客户端登录,则无关紧要。PHP代码正在运行在你的web服务器的后端,这个PHP代码是需要登录才能获取变量的,在上面提供的链接中,有些人给出了一些选择,或者你尝试了Oli的想法,这是我不熟悉的。 – dmikester1

+0

另一位玩家已经制作了一个类似的页面,我想要做什么 - http://www.shc-strategy.com/ - 玩家可以插入重播链接。只要你有一个Facebook帐户和一个游戏帐户(它使用Facebook连接),那么你可以访问重播网址。另一位玩家没有选择与所有人一起分享他的网页。无论您是否喜欢他,我都希望能够为所有人提供类似的资源。 –

2

你可以采取的一种方法是使用Selenium。您需要设置硒服务器和浏览器,然后编写一个硒脚本来为您提供页面。这里的关键点是,硒可以通过编程方式通过selenium以编程方式运行带有javascripts,facebook登录等的firefox客户端,以及您在普通Firefox上的所有内容。

我在Linux环境中运行selenium并通过php cli脚本控制它。我运行java selenium-server-standalone以及framebuffered X和firefox。 PHP单元测试库allready有一个扩展,尽管你明显不需要它。