手机版

Node.js爬虫如何获取天气和每日问候详解

时间:2021-08-20 来源:互联网 编辑:宝哥软件园 浏览:

安装依赖

安装node.js,同时安装好依赖:

新公共管理安装请求-保存//http请求库新公共管理安装cherio-save/分析超文本标记语言工具新公共管理安装快速-保存//nodejs web框架获取墨迹天气

地址示例:

东莞tianqi.moji.com/weather/chi…

广州tianqi.moji.com/weather/chi…

深圳tianqi.moji.com/weather/chi…

可打开墨迹天气网站找到女朋友对应城市修改全球资源定位器(统一资源定位符)地址拼音即可。

查看网页结构:

下面开始提取网页天气信息:

const request=require(' request ')const cherio=require(' cherio ')const weather URl=' https://天齐。莫吉。com/weather/China/广东/东莞'//获取墨迹天气提示信息函数getWeatherTips(URL){ 0返回新承诺(解析,拒绝)={请求(weatherURL),(错误,res,body)={ if(!错误){ let html=RES . body | | let $=cheerio。加载(html)让temp=$(' .天气预报.文本()。trim() ''让desc=$(' .天气预报.文本()。修剪()让水=$('。wea _约跨度' .文本()。修剪()让win=$(' .我们了解他们.文本()。修剪()让tips=$(' .我们给他们小费.文本()。修剪()让单词=今日${city}天气\n${desc}\n温度:${temp}\n湿度:${water}\n风力:$ { win } \ n $ { tips } ` resolve(words)} else { reject(error)} })获取每日一句

地址:wufajusce。com/

const GREinGurl=' http://wufajusce。com/'//获取wufazhuce.com每日一句函数getDailyGreeting(){ 0返回新的Promise((解决,拒绝)={ request(greeting ingurl),(error,res,body)={ let everyDayWordsList=[];if(!错误RES . status代码==200){ let $=cheerio。负载(主体。tostring())$(' div .fp-one-cita a ').每个(函数(项){ if($(this)).text()){ everydaywordslist。推($(这个).文本()。trim()) } })让结果=everyDayWordsList[0] || '网络错误,获取每日问候失败!'resolve(result)} else { reject(error)} })})计算在一起天数

//计算在一起的日子函数getDiffDate(TargetDate){ 0让日期1=新日期(目标日期);让日期2=新日期();日期1=新日期(日期1.getFullYear()、日期1.getMonth()、日期1。getdate());日期2=新日期(日期2.getFullYear()、日期2.getMonth()、日期2。getdate());常量差异=日期2。gettime()-日期1。gettime();const DiffDate=diff/(24 * 60 * 60 * 1000);返回宝贝,这是我们在一起的${diffDate}天`}接口调用

var express=require(' express ');var app=express();const api=require(' ./crawer . js’)app . get(“/words”,async函数(req,RES){让日期提示=API。getdiffdate()让天气=等待API。getweather tips()让单词=wait API。getdailygreing()let str=` $ { dateTips } \ n $ { weather } \ n $ { words } ` RES . write head(200,{ ' Content-Type ' : ' application/JSON;charset=utf-8 ' })RES . end(str)})var server=app。监听(8083,function () { //启动互联网协议(互联网协议的缩写)和端口var port=server.address().端口console.log('应用实例,访问地址为http://%s,港口)})

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

版权声明:Node.js爬虫如何获取天气和每日问候详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。