1

我认为这会起作用,但显然我做错了什么。我需要从很多 html 文件中获取数据,并想我会写一个快速的爬虫程序。所有文件都是本地的。代码如下。来自 url 的 html 加载到 div 'scrapedHTML' ok。但是当我尝试 console.log 那个 div 的 html 时,我什么也没得到,我不知道为什么。任何帮助,将不胜感激。

<body class="home">


    <header class="hd1">

    </header>

    <contentWrapper>
        <div id="scrapedHTML" style="position:absolute; top: 150px; left: 150px; width: 800px; height: 200px; border: 1px solid black; overflow-y:scroll;"></div>

        <div id="displayData" style="position:absolute; top: 400px; left: 150px; width: 800px; height: 500px; border: 1px solid black; ">

        </div>

    </contentWrapper>

    <footer class="f1">

    </footer>


<!-- jQuery version might not be the latest; check jquery.com -->
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script langauge="javascript">

    $(document).ready(function() { 


            var scrapeThisURL = "oc-bloodloss.html";
            $('#scrapedHTML').load(scrapeThisURL);
            var capturedHTML = $("#scrapedHTML").html();
            console.log(capturedHTML);



    });



</script>


</body>
</html>
4

1 回答 1

3

.load方法是异步的。

你应该这样做:

$('#scrapedHTML').load(scrapeThisURL, function() {
    var capturedHTML = $("#scrapedHTML").html();
    console.log(capturedHTML);
});

注意代码是专门从div中获取html的。你可以这样做会更好:

$('#scrapedHTML').load(scrapeThisURL, function(response) {
    console.log(response);
})
于 2012-11-28T13:47:20.473 回答