最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候詳解

 更新時(shí)間:2019年08月26日 08:39:02   作者:Mango在掘金  
這篇文章主要給大家介紹了關(guān)于Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js爬蟲(chóng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

安裝依賴(lài)

安裝node.js,同時(shí)安裝好依賴(lài):

npm install request --save // http請(qǐng)求庫(kù)
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

可打開(kāi)墨跡天氣網(wǎng)站找到女朋友對(duì)應(yīng)城市修改url地址拼音即可。

查看網(wǎng)頁(yè)結(jié)構(gòu):

下面開(kāi)始提取網(wǎng)頁(yè)天氣信息:

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風(fēng)力:${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] || '網(wǎng)絡(luò)錯(cuò)誤,獲取每日問(wèn)候失??!'
 			resolve(result) 
 		} else {
 			reject(error)				
 		}
 	})
 })
}

計(jì)算在一起天數(shù)

// 計(jì)算在一起的日子
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 `寶貝,這是我們?cè)谝黄鸬?{diffDate}天`
}

接口調(diào)用

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 () { // 啟動(dòng)ip和端口
 var port = server.address().port
 console.log("應(yīng)用實(shí)例,訪問(wèn)地址為 http://%s:%s", port)
})

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • mongoose更新對(duì)象的兩種方法示例比較

    mongoose更新對(duì)象的兩種方法示例比較

    最近在使用mongoose的時(shí)候發(fā)現(xiàn)了一個(gè)之前一直沒(méi)注意的知識(shí)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于mongoose更新對(duì)象的兩種方法,通過(guò)示例代碼將兩種方法進(jìn)行詳細(xì)的對(duì)比,以給大家更好的參考學(xué)習(xí),需要的朋友可以參考下。
    2017-12-12
  • Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能

    Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能

    有一些Node.JS圖片生成類(lèi)庫(kù),比如node-captcha等的類(lèi)庫(kù),需要c/c++程序生成圖片??缙脚_(tái)部署不是很方便。這里介紹幾個(gè)用純JS實(shí)現(xiàn)的圖片驗(yàn)證碼生成模塊,需要的朋友可以參考下
    2019-09-09
  • node+express框架中連接使用mysql(經(jīng)驗(yàn)總結(jié))

    node+express框架中連接使用mysql(經(jīng)驗(yàn)總結(jié))

    這篇文章主要介紹了node+express框架中連接使用mysql(經(jīng)驗(yàn)總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Node.js中的異步生成器與異步迭代詳解

    Node.js中的異步生成器與異步迭代詳解

    這篇文章主要給大家介紹了關(guān)于Node.js中異步生成器與異步迭代的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • node.js錯(cuò)誤處理之npm無(wú)法下載第三方包

    node.js錯(cuò)誤處理之npm無(wú)法下載第三方包

    這篇文章主要給大家介紹了關(guān)于node.js錯(cuò)誤處理之npm無(wú)法下載第三方包的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式

    Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式

    這篇文章主要介紹了Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306的問(wèn)題

    解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306的問(wèn)題

    這篇文章主要介紹了解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306報(bào)錯(cuò)的相關(guān)資料,文中將問(wèn)題描述的很清楚,解決的方法也介紹的很完整,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-03-03
  • 基于NodeJS開(kāi)發(fā)釘釘回調(diào)接口實(shí)現(xiàn)AES-CBC加解密

    基于NodeJS開(kāi)發(fā)釘釘回調(diào)接口實(shí)現(xiàn)AES-CBC加解密

    這篇文章主要介紹了基于NodeJS開(kāi)發(fā)釘釘回調(diào)接口 實(shí)現(xiàn)AES-CBC加解密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例

    node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例

    這篇文章主要介紹了node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Nodejs實(shí)現(xiàn)批量修改圖片尺寸工具

    Nodejs實(shí)現(xiàn)批量修改圖片尺寸工具

    本文主要為大家介紹了一個(gè)Node.js工具,可以通過(guò)簡(jiǎn)單的命令行操作,允許用戶(hù)批量調(diào)整圖片尺寸,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10

最新評(píng)論

探索| 察隅县| 徐闻县| 铜陵市| 乌兰察布市| 景谷| 鄢陵县| 孟连| 铜山县| 永清县| 衡东县| 重庆市| 大田县| 莲花县| 肇东市| 盐山县| 和静县| 南城县| 东港市| 沙坪坝区| 广西| 湖南省| 永清县| 抚顺县| 沂水县| 米林县| 台安县| 化德县| 邯郸县| 华安县| 通山县| 河北区| 龙陵县| 阿克苏市| 新野县| 敦煌市| 玉田县| 扎赉特旗| 于田县| 克什克腾旗| 建宁县|