抓取并解析Javascript元素

时间:2009-12-28 03:11:45

标签: javascript web-crawler

我尝试从使用 Javascript 的网站获取信息,以显示项目/公司的电话号码。

使用PHP curl或xpath进行爬网不会让我找到解决方法如何触发此事件而不是继续爬行。

示例:

<a onclick="show(2423,'../entries.php?eid=2423',1);

这里的信息也是函数

function show(info_id,qpath,swimage){
expandit(info_id,0,swimage);
if(document.getElementById('load_'+info_id)) {
    ajax_loadContent('cont_td_'+info_id,qpath);
}
 }

这可能与PHP / Xpath / DOM有关,或者您建议如何做到这一点? 是否有机会“调试”代码以查看要调用的URL?

感谢您的关注 并且拥有非常棒的节日

3 个答案:

答案 0 :(得分:3)

似乎所有它正在进行的是对此页面的../entries.php?eid=2423的AJAX调用。

尝试直接转到该网址,您可能会在没有任何HTML / JavaScript解析的情况下获取您的电话号码。

答案 1 :(得分:2)

您可以使用firebug的网络标签来关注加载的网址。或Fiddler。一旦你计算出模式,你就可以使用curl自己制作和调用相同的URL。

或者,您可以使用其中一个浏览器自动化框架,例如webaiiseleniumwatirwatin,然后抓取这些链接。

答案 2 :(得分:0)

尝试使用Selenium RC模拟点击链接,然后扫描页面以获得结果: http://seleniumhq.org/projects/remote-control/