使用PHP从远程站点抓取时使用Javascript链接

时间:2009-07-12 00:22:28

标签: php javascript screen-scraping

给定远程页面:

http://example.com/paged_list.aspx

使用Javascript函数调用来显示几页表格数据:

javascript:show_page(1) javascript:show_page(2)

等等。用户单击页面链接以显示每个页面,这会触发重新加载但没有查询字符串,即URI保持不变。

在抓取这个网站时,有一种方法可以获得后续页面,但没有明显的方法在请求中指定页码(传递给file_get_contents())。

有没有办法:

  1. 打开远程网址。
  2. 在该地址调用已知的javascript函数。
  3. 返回结果?

2 个答案:

答案 0 :(得分:2)

在PHP中模拟JS将是艰难的路线。更容易分析JS源并确定后台AJAX操作的URL目标。那么通过调用URL并根据需要修改args,将整个数据集拉入PHP脚本应该是一项相当容易的任务。

答案 1 :(得分:0)

你最好的选择是尝试对javascript函数/ ajax调用他们的php脚本进行反向工程,以便用正确的参数向他们的服务器发出你自己的请求。

你可以使用许多firefox插件,让你的生活更容易扭转所有这些(例如通过查看网络活动来查看firebug)