使用cherrio node.js刮

时间:2018-04-06 14:49:27

标签: node.js express

我如何逐一扫描项目源?

项目来源

std::shared_ptr

代码

<div class="textbox">
    <div class="boxtitle">Theme</div>
<div class="genreitem"><a href="link">Cat</a></div>
<div class="genreitem"><a href="link">Dog</a></div>
<div class="genreitem"><a href="link">Zebra</a></div>
<div class="genreitem"><a href="link">Giraffe</a></div>
<div class="genreitem"><a href="link">Anjing</a></div>
</div>

终端const request = require('request'); const cheerio = require('cheerio'); const express = require('express'); const app = express(); function runRequest() { request('http://www.javlibrary.com/en/genres.php', function(error, response, body) { var $ = cheerio.load(body, { ignoreWhitespace: true, xmlMode: true }); $('div.textbox').each(function(i, html) { console.log($(this).text()); }); }); } runRequest(); app.listen(3030, (err) => { console.log("Running on port 3030"); });

上的结果

我如何逐一获得它?

1 个答案:

答案 0 :(得分:1)

.text返回dom对象(及其子文本)。 使用div.textbox,您将选择要记录为输出的文本的父元素

使用$('div.textbox > .genreitem')选择器选择包含文本的div。 你可以通过索引来找到每个文本,如

$($('div.textbox > .genreitem')[1]).text() => Dog
$($('div.textbox > .genreitem')[4]).text() => Anjing