nodejs express cheerio request爬虫
2024-09-22 09:31:31
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)
}
}
}
最新文章
- WebApi防重复提交方案
- 关于移动端meta设置
- java中的函数参数
- FreeMarker 学习
- 用SpringMvc实现Excel导出功能
- 3DTouch开发 (基础)
- Struts2中的 配置文件
- c# 基本知识 ref 和 out
- var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高
- COJ 1008 WZJ的数据结构(八) 树上操作
- 利用STM32F唯一96bit序列号实现反拷贝加密的源代码公开(转)
- Windows环境下安装配置Teamcity配合git自动发布mvc,webapi站点
- 4063: [Cerc2012]Darts
- Spark 作业调度相关术语
- PHP设计模式四:适配器模式
- Game
- reverse函数实现指定页面跳转
- RabbitMQ消息队列(十三)-VirtualHost与权限管理
- POJ 2774 Long Long Message (二分 + Hash 求最长公共子串)题解
- (O)编写可维护的代码示例(原创)