获取html表单外部站点的一部分

时间:2017-04-25 17:45:12

标签: javascript html node.js

如果我想告诉他们想要获取这部分代码,我怎样才能获得网站的部分代码?

<span class="definition">Anv&#228;nds n&#228;r man s&#228;ger hejd&#229; till n&#229;gon. Ha de G &#228;r samma sak som ha det bra, eller ha det g&#246;tt.</span><br /><br />

形成很多代码,我希望在Javascript中执行此操作,并且代码来自外部站点,NAd这是node.js

2 个答案:

答案 0 :(得分:3)

您所谈论的一般技术称为“网络抓取”,其范围可以从非常简单到非常复杂。假设您希望在节点应用中执行此操作(正如您的代码所示),我建议您使用模块requestcheerio。如果html的一部分是由客户端javascript生成的,那么这不够,但你没有在你的问题中表明这一点。这是一个非常简单的代码段,描述了我建议的内容:

const cheerio = require('cheerio');
const request = require('request');

request.get('http://example.com/index.html', (err, response, body) => {
   const $ = cheerio.load(body);

   const definitions = $('span.definition');
   console.log(definitions); // these are all selection result elements, you can do more with them here once you see what they contain. 
});

答案 1 :(得分:1)

您可以使用cheerio

const request = require("request");
const cheerio = require("cheerio");


request("http://example.com/some-uri", (err, response, body) => {

        if(err)
                throw err; //Handle error


        let $ = cheerio.load(body);

        let myElement = $('span.definition');

        console.log(myElement.html()); //Inner html
        console.log($.html(myElement)); //outer html


});