中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js爬蟲怎樣獲取天氣和每日問候

發布時間:2021-02-03 11:43:44 來源:億速云 閱讀:325 作者:小新 欄目:web開發

這篇文章主要介紹Node.js爬蟲怎樣獲取天氣和每日問候,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

安裝依賴

安裝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地址拼音即可。

Node.js爬蟲怎樣獲取天氣和每日問候

查看網頁結構:

Node.js爬蟲怎樣獲取天氣和每日問候

下面開始提取網頁天氣信息:

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/

Node.js爬蟲怎樣獲取天氣和每日問候

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)
})

Node.js爬蟲怎樣獲取天氣和每日問候

以上是“Node.js爬蟲怎樣獲取天氣和每日問候”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘洛县| 晴隆县| 通河县| 大新县| 上栗县| 克东县| 彩票| 瓮安县| 北安市| 台北县| 武功县| 萍乡市| 格尔木市| 鸡泽县| 太仓市| 韶关市| 库尔勒市| 永登县| 光山县| 邓州市| 弋阳县| 察隅县| 阳城县| 宁海县| 南康市| 临安市| 柳河县| 五家渠市| 永修县| 庐江县| 柳林县| 柞水县| 罗定市| 通化县| 宜州市| 菏泽市| 临汾市| 田林县| 安徽省| 资中县| 乐东|