从使用Js呈现的站点获取html

时间:2014-05-23 18:14:57

标签: c# ajax xpath

此链接指向开放式营养数据库中的文档:

http://www.dabas.com/ProductSheet/Detail.ashx/124494

我试图在xpath的帮助下从此页面获取一些信息。 问题在于,当我选择"查看来源"时,为了找出我追求的标签,我得到的就是:

<!DOCTYPE html>

<html>
<head>
    <script src="../../js/jquery-1.3.2-vsdoc2.js" type="text/javascript"></script>
    <title>ProductSheetLoader</title>
</head>
<body>
    <div style="position:absolute; left:50%; top:50%; width:500px; height:200px; margin-top:-100px; margin-left:-266px; padding:15px; color:#666;">
        <h1><img src="../../images/ajax-loader.gif" /> Produktbladet laddas...</h1>
    </div>
    <input id="hiddenARIDENT" name="ARIDENT" type="hidden" value="124494" />
</body>

<script type="text/javascript">
    $(document).ready(function () {
        var url2 = "/ProductSheet/Details.ashx/" + $('#hiddenARIDENT').val()

        $.ajax({
            url: url2,
            cache: false,
            success: function (respones) {
                with (window.document) {
                    write(respones);
                    close();
                }
            }
        });

    });

</script>

</html>

在我看来,所有信息都是从其他地方加载的。 如果我按f12,我可以看到我想要的所有信息,但我怎样才能获得这些信息?有可能吗?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

原始页面只是用ajax加载实际内容,并用它替换文档内容。这种情况下的实际信息可在/ProductSheet/Details.ashx/124494处获得,(请注意s中的 Details.ashx ,其中包含实际的网页内容。

通常,服务器可能会检查请求是否还包含X-Requested-With: XMLHttpRequest标头,但此处似乎并非如此。