nodejs express cheerio request爬虫

Posted 一起来学python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs express cheerio request爬虫相关的知识,希望对你有一定的参考价值。

const express = require('express')
const cheerio = require('cheerio')
const request = require("request")
const app = express()

app.get("/:key", function (req, res) {
    let spider = new Spider()
    console.log(req.params.key)
    spider.fetch("http://www.baidu.com/s?wd=" + req.params.key, (err, $) => {
        spider.parse(err, $, res)
    })
})
app.post('/postData', function (req, res) {  //这里参数加上刚刚的解析的而且这里不是get了
    let result = req.body
    res.send(result);
})
app.listen(3000, () => {
    console.log("开启服务,端口3000")
})


class Spider {
    fetch(url, callback) {
        request({url: url, encoding: null}, (err, response, body) => {
            if (!err && response.statusCode === 200) {
                callback(null, cheerio.load('<body>' + body + '</body>'));
            } else {
                callback(err, cheerio.load('<body></body>'));
            }
        })
    }

    parse(err, $, res) {
        if (!err) {
            let result = $('body').find("#content_left").html()
            res.send(result)
        }
    }

}

以上是关于nodejs express cheerio request爬虫的主要内容,如果未能解决你的问题,请参考以下文章

用nodejs库cheerio抓取网页图片

在 Node/Express 中使用 Request.js 和 Cheerio.js 返回空数组

网络抓取Nodejs cheerio

如何在另一个对象(NodeJS、Axion、Cheerio、jQuery、JSON)中添加一个对象

nodejs cheerio模块提取html页面内容

nodejs .http模块, cheerio模块 实现 小爬虫.