安装依赖
安装node.js,同时安装好依赖:
npm install request --save // http请求库 npm install cheerio --save // 分析html工具 npm install express --save // nodejs web框架
获取墨迹天气
地址示例:
东莞 tianqi.moji.com/weather/chi…
广州 tianqi.moji.com/weather/chi…
深圳 tianqi.moji.com/weather/chi…
可打开墨迹天气网站找到女朋友对应城市修改url地址拼音即可。
查看网页结构:
下面开始提取网页天气信息:
const request = require("request")
const cheerio = require("cheerio")
const weatherURL = 'https://tianqi.moji.com/weather/china/Guangdong/dongguan'
// 获取墨迹天气提示信息
function getWeatherTips(url) {
return new Promise((resolve,reject)=>{
request(weatherURL,(error,res,body)=>{
if (!error) {
let html = res.body || "";
let $ =cheerio.load(html)
let temp = $('.wea_weather em').text().trim()+'℃'
let desc = $('.wea_weather b').text().trim()
let water = $('.wea_about span').text().trim()
let win = $('.wea_about em').text().trim()
let tips = $('.wea_tips em').text().trim()
let words=`今日${city}天气\n${desc}\n温度:${temp}\n湿度:${water}\n风力:${win}\n${tips}`
resolve(words)
} else {
reject(error)
}
})
})
}
获取每日一句
地址:wufazhuce.com/
const greetingURL = 'http://wufazhuce.com/'
// 获取wufazhuce.com每日一句
function getDailyGreeting() {
return new Promise((resolve,reject)=>{
request(greetingURL,(error,res,body)=>{
let everyDayWordsList = [];
if(!error && res.statusCode==200) {
let $ = cheerio.load(res.body.toString())
$('div .fp-one-cita a').each(function(item){
if($(this).text()){
everyDayWordsList.push($(this).text().trim())
}
})
let result = everyDayWordsList[0] || '网络错误,获取每日问候失败!'
resolve(result)
} else {
reject(error)
}
})
})
}
计算在一起天数
// 计算在一起的日子
function getDiffDate(targetDate) {
let date1 = new Date(targetDate);
let date2 = new Date();
date1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
date2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
const diff = date2.getTime() - date1.getTime();
const diffDate = diff / (24 * 60 * 60 * 1000);
return `宝贝,这是我们在一起的${diffDate}天`
}
接口调用
var express=require('express');
var app=express();
const api = require('./crawer.js')
app.get('/words',async function(req,res){
let dateTips = api.getDiffDate()
let weather = await api.getWeatherTips()
let words = await api.getDailyGreeting()
let str =`${dateTips}\n${weather}\n${words}`
res.writeHead(200, {'Content-Type': 'application/json; charset=utf-8'})
res.end(str)
})
var server = app.listen(8083, function () { // 启动ip和端口
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", port)
})
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Node.js爬虫如何获取天气和每日问候详解”评论...
更新动态
2025年10月27日
2025年10月27日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]



