Javascript 信息员

Javascript 信息员,javascript,node.js,xmlhttprequest,web-scraping,cheerio,Javascript,Node.js,Xmlhttprequest,Web Scraping,Cheerio,因此,在对我的脚本进行了一些修改之后,我得到了以下结果: var page = require('webpage').create(); console.log("connecting..."); page.open("http://watchout4snakes.com/wo4snakes/Random/RandomSentence", function(){ console.log('connected'); var content = page.conten

因此,在对我的脚本进行了一些修改之后,我得到了以下结果:

var page = require('webpage').create();

console.log("connecting...");   


page.open("http://watchout4snakes.com/wo4snakes/Random/RandomSentence", function(){

    console.log('connected');

    var content = page.content;

    var phrase = page.evaluate(function() {

        return document.getElementById("result").innerHTML;

    });

    console.log(phrase);

});
感谢go oleg提示使用phantomjs,看起来无头浏览器方法允许脚本在抓取HTML内容之前运行。然后,我使用page.evaluate()从页面中提取了这个句子


不过,Phantomjs在我的系统上似乎有一些问题。所有进程都不会在phantom.exit()上退出。根据谷歌搜索,phantom.exit()与Nvidia图形驱动程序有关。另外,脚本相当慢,因为它等待页面的所有元素加载连接可能需要10秒,这对于迭代过程来说不是很好。但是我成功地得到了这句话,所以我将在此基础上继续学习,谢谢大家提供的信息

谢谢你的建议,我之前已经考虑过使用幻影,但是cheerio看起来更直截了当。我已经让Phantom进行了一次尝试,并将页面呈现出来,显示所有内容都已正确加载。唯一的问题是每次我运行幻影时幻影都无法结束进程,不知道这是否是一个常见问题?感谢您的建议,我之前已经考虑过使用幻影,但cheerio似乎更简单。我已经让Phantom进行了一次尝试,并将页面呈现出来,显示所有内容都已正确加载。唯一的问题是Phantom每次运行时都无法结束进程,不知道这是否是一个常见问题?
var request = require("./node_modules/request/");
    cheerio = require('./node_modules/cheerio/');

request('http://watchout4snakes.com/wo4snakes/Random/RandomSentence', function(err, resp, body){

    if(!err && resp.statusCode == 200){


        console.log("connected...\n");

        var $ = cheerio.load(body);


        console.log($('#result').html());
    }
    else console.log("Failed To Connect...");
});
<table class="centeredResult">
    <tr>
        <td>
            <span id="result"></span>
        </td>
    </tr>
</table> 
<script>
    (function ($) {
        $(document).ready(function () {
            var options = {
                target: '#result',
                beforeSubmit: function () {
                $('#result').empty();
                $.fnWait();
            },
            success: function () {
                $.unblockUI();
            }
        };
            $('#frmSentence').ajaxForm(options)
                             .find('input[type=submit]')
                             .click();
        });
    })(jQuery);
var page = require('webpage').create();

console.log("connecting...");   


page.open("http://watchout4snakes.com/wo4snakes/Random/RandomSentence", function(){

    console.log('connected');

    var content = page.content;

    var phrase = page.evaluate(function() {

        return document.getElementById("result").innerHTML;

    });

    console.log(phrase);

});