【发布时间】:2011-04-26 04:19:56
【问题描述】:
我一直在努力解析来自 wow 军械库的一些数据,但遇到了一些障碍。当网站提供玩家获得的成就时,它使用 javascript 来控制字符串,例如#73:1283 来显示请求的信息。 (我编了这个数字,但请求的数据格式如下)。
- 是否可以从需要 javascript 以使用 php 显示其数据的页面中提取数据?
- 如何使用 php 解析 dom 准备好或完成后已加载的站点中的数据?
【问题讨论】:
-
你能给我们一个它在做什么的代码示例吗?否则,为了完全理解您的要求,我们必须自己查看所有《魔兽世界》军械库代码以弄清楚您的意思。页面加载后网站是否异步加载数据?或者当你点击某个东西时它会进行 AJAX 调用吗?您确定是 Javascript 本身在解释字符串,而不是仅仅向某处的服务器发送请求吗?
-
http://us.battle.net/wow/en/character/black-dragonflight/glitchshot/achievement#96:14861是一个示例链接,您可以查看我在说什么。如果您禁用 javascript,您将只能从该页面中提取http://us.battle.net/wow/en/character/black-dragonflight/glitchshot/achievement,左侧与成就有关的所有菜单都将加载到 dom 中,而无需使用 html。您将无法在未启用 javascript 的情况下使用菜单,但完整菜单的数据已存在。 -
问题是如果不使用javascript,您无法加载与菜单项对应的内容。我承认我不是最熟练的 JS 人,但查看源代码告诉我它使用 jquery 和内部 JS 的组合来解释链接。根据查看 JS,我无法确定它从哪里提取数据。
-
loadModule: function(key) { var module = $('#sidebar-'+ key); if (module.length > 0) { $.ajax({ url: Core.baseUrl +'/sidebar/'+ key, type: 'GET', dataType: 'html', cache: false, global: false, success: function(data) { if (data) module.html(data); else module.remove(); }, error: function() { module.remove(); } }); } } -
如果我不得不猜测,我会说这就是它从中提取数据的地方,但就像我说的那样,我不太了解 JS。
标签: php javascript parsing dynamic