网页布局照着别的网站做会侵权吗网站建设一个月多少钱

web/2025/9/29 19:07:48/文章来源:
网页布局照着别的网站做会侵权吗,网站建设一个月多少钱,站长工具seo,在手机上编程的软件前言 因为自己写的demo需要历史天气的统计数据#xff0c;但是国内很难找到免费的api接口#xff0c;很多都需要付费和审核。而国外的网站虽然免费但需要提前知道观测站#xff0c;城市id等信息。所以就有了这么一篇文章的诞生。 准备工作 库 作用superagent发送请求supera…前言 因为自己写的demo需要历史天气的统计数据但是国内很难找到免费的api接口很多都需要付费和审核。而国外的网站虽然免费但需要提前知道观测站城市id等信息。所以就有了这么一篇文章的诞生。 准备工作 库 作用superagent发送请求superagent-charset设置请求的编码cheerio让解析html文档像jquery一样简单 实现思路 找到目标网站 东方天气网本文以此为例 天气网分析网站结构 通过分析可以绘制如下流程图 Created with Raphaël 2.1.2访问基址(异步)拿到城市的根地址按城市和年月拼成新的地址访问新地址(异步)拿到城市在指定月的数据处理数据代码编写思路 从流程图可以看出需要先异步请求基址拿到城市的根地址。 拿到根地址后拼接时间和城市接着异步访问才能拿到我们要的数据。 这种嵌套异步可以使用Promise来实现eventProxy基本已不用。代码实例 var express require(express); var router express.Router(); var superagent require(superagent); var charset require(superagent-charset); //解决编码问题 var cheerio require(cheerio);/* GET users listing. */ var mysql require(mysql); var responseJson require(../util/responseJson); //导入mysql模块 var dbConfig require(../db/DBconfig);//使用DBConfig.js的配置信息创建一个MySQL连接池 var pool mysql.createPool(dbConfig.mysql);charset(superagent); //需要遍历的信息 var BaseUrl http://tianqi.eastday.com; var Cities [成都]; //需要获取的城市 var indexArr [cd]; var Years [2018]; //年份因为2018年以前dom结构不一样所以这里只取2018 var Months [01, 02, 03, 04, 05, 06, 07, 08]; //月份function getCityUrl (city) {//返回Promisereturn new Promise((resolve, reject) {superagent.get(BaseUrl /history.html).charset(utf-8).end((err, sres) {if (err) {next(err);return;}let $ cheerio.load(sres.text);//后续继续遍历的基址let href $(.letter-box).find(a[title city ]).attr(href);resolve(href);});}) }//获取指定城市在指定时间的数据 function getData (href, city) {let year Years[0];return Months.map(month {let url BaseUrl href.replace(.html, _ year month .html );//获取天气数据return new Promise((resolve, reject1) {superagent.get(url).charset(utf-8).end((err1, sres1) {if (err1) {reject1(err1);return;}let $ cheerio.load(sres1.text);let arr [];$(#weaDetailContainer).find(.weatherInfo-item).each((index, item) {let $item $(item);arr.push({time: year - month - $item.find(.dateBox).text().substr(0, 2),wea: $item.find(.weather-name).text(),tempL: $item.find(.low-temp).text(),tempH: $item.find(.high-temp).text(),wind: $item.find(.wind).text(),});});resolve(arr);});});}); }function dispatch(groups) {var results []return (function () {var fun arguments.callee, group groups.shift()if (!group) {return Promise.resolve(results)}var promises []group.forEach(function (task) {promises.push(Promise.resolve(task))})return Promise.all(promises).then(function (rets) {results.push(rets)return fun()})}()) } function query (sql) {return new Promise((resolve, reject) {pool.getConnection((err, conn) {if(err){reject(err);} else {conn.query(sql, (err1, rows, fields) {conn.release();if(err1){reject(err1);} else {resolve({rows: rows,fields: fields});}});}});}); }function makeSql (item, index) {let sql INSERT INTO weather_ indexArr[index] (time, wea, tempH, tempL, wind) values ;let arr [].concat.apply([], item);arr.map(group {sql ( group.time , group.wea , group.tempH , group.tempL , group.wind ),;});return sql.substring(0, sql.length-1); } router.get(/, function(req, res, next) {let promiseArr [];promiseArr Cities.map(city {//遍历城市return getCityUrl(city);});Promise.all(promiseArr).then(hrefArr {return hrefArr.map(href {return getData(href);});}).then(arr {return dispatch(arr);}).then(data {let arr data.map((item, index) {return query(makeSql(item, index))});Promise.all(arr).then(() {res.json({status: true,msg: success})}).catch(e {res.json({status: false,msg: e.message})})}).catch(e {res.send(e.message);}); });module.exports router; 不足 虽然能够实现需求但是感觉我的Promise在这里用着好像挺乱没有完全解决嵌套问题。后续会增进学习对这一部分更加完善。也希望大家能够给出宝贵意见~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电话销售做网站推销做湘菜的网站

本文介绍了如何利用 STM32 微控制器读取和解析 NTC(Negative Temperature Coefficient)热敏电阻的数值。首先,我们将简要介绍 NTC 热敏电阻的原理和特性。接下来,我们将详细讨论如何设计电路连接和采用合适的 STM32 外设进行数值读…

想要找个网站做环评公示怎么用视频做网站首页

目录 一、rest api 1. 新建索引 2. 删除索引 3. 插入单条数据 4. 更新单条数据 5. 删除单条数据 6. 查询数据 二、python elasticsearch库 1. 新建索引 一、rest api 1. 新建索引 请求方式:PUT 请求URL:http://ip/(your_index_nam…

好看的免费的小说网站模板寿阳网站建设

实验17 配置无线网络实验 1.实验拓扑图 Table PC0 和 Table PC1 最开始可能还会连Access Point0,无影响后面会改 名称接口IP地址网关地址Router0fa0/0210.10.10.1fa0/1220.10.10.2Tablet PC0210.10.10.11Tablet PC1210.10.10.12Wireless互联网220.10.10.2LAN192.16…

企业级网站开发与部署wordpress网站静态化

前言 关于axios全局loading的封装博主已经发过一次了,这次是在其基础上增加了token的无感刷新。 token无感刷新流程 首次登录的时候会获取到两个token(AccessToken,RefreshToken)持久化保存起来(localStorage方案&a…

网站代运营公司有哪些哪些官网用wordpress

目录 单例模式(Singleton Pattern) 优缺点 使用场景 饿汉式和懒汉式单例模式 单例模式(Singleton Pattern) 单例模式(Singleton Pattern)是一个类只允许创建一个对象(或者实例&#xff…

免费自创网站做网站能赚钱

IDEA中连接SQLserver数据库(DataGrip相同连接) 1. 打开IDEA-database组件 2. 新建SQL server连接 3. 填写信息进行连接 填写连接名称,连接主机IP,端口,默认端口1433,数据库用户名密码,默认数据库用户名是sa 第一次连接…

在哪里找手机网站建设公司做什么网站赚钱最快

我们在JSTL标签中看到“JSP”这种类型的定义,但是不知道它是什么意思,其实它的意思就是定义了一个JSTL标签内部是否允许使用JSP表达式,先来了解什么是JSTL标签体,请看代码://中间即为JSTL标签体再来看看什么是jsp表达式…

专业的家居行业网站制作泉州哪家网站建设公司好

xhtml css页面制作过程中问题的解决方案,说是解决方案应该有点过了,充其量只不过是给刚刚开始学标准页面制作的朋友们的一些小建议,如 2018-04-14XHTML里面的img标记应该这样写:,这种写法也就是所谓的自关闭&#xff0…

珠海微信网站宝钢建设工程有限公司网站

为了提供一致的编辑体验,您需要一致的数据和可预测的行为。不幸的是,DOM缺乏这两个特性。现代编辑器的解决方案是维护自己的文档模型来表示它们的内容。对于Quill来说,Parchment就是这样的解决方案。它在自己的代码库中组织,并拥有…

工商局官网入口网站优化18600119496

1588: [HNOI2002]营业额统计 Time Limit: 5 SecMemory Limit: 162 MBDescription 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以…

网站推广排名WordPress能做门户网吗

本篇文章主要介绍了关于address标签用法。或许有些朋友对于address标签有点陌生,也会产生address是什么意思的疑问,毕竟在我们日常建站过程中,很少会用到这个标签。但是俗话说,存在即合理。html里每一个标签都有他自己的定义和用处…

宝山网站建设哪家好时尚网站

netcat(nc)下载及基本使用 - 知乎

织梦教育网站模板甜品店网站开发背景

IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。 今天给大家介绍一款IDEA插件:Api…

丹徒网站建设平台分销商城平台

一、Cookie的出现浏览器和服务器之间的通信少不了HTTP协议,但是因为HTTP协议是无状态的,所以服务器并不知道上一次浏览器做了什么样的操作,这样严重阻碍了交互式Web应用程序的实现。针对上述的问题,网景公司的程序员创造了Cookie。…

个人网站可以放广告吗上传图片的网站要怎么做

忍着疼痛奔跑,带着泪光微笑转瞬,毕业已近四年,回顾,还在路上。头几年,有着一颗爱玩的心,秉着“人这一辈子不能对不起自己”的谬论,一直随着自己的性子,想做什么就做什么,…

学校网站设计流程公司门户网站建设公司

Spring 就是⼀个包含了众多工具方法的 IoC 容器。既然是容器那么它就具备两个最基本的功能: 将对象存储到容器(Spring)中从容器中将对象取出来 接下来使用 Maven 方式来创建一个 Spring 项目,创建 Spring 项目和 Servlet 类似&a…

怎么看一个网站是html5百度seo关键词排名s

Day3 链表 链表也是一种很重要的数据结构,链表的优势是空间不必连续,分配比较自由,缺点是不支持随机访问,想要获取链表中间的某个元素,必须要从头遍历。 LeetCode 203.移除链表元素【虚拟头结点】 移除链表中的某个…

建设网站设计的公司网站返回500错误

这里的笔记是关于蓝桥杯关键知识点的记录,有别于基础语法,很多内容只要求会用就行,无需深入掌握。 文章目录 前言一、编程基础1.1 C基础格式和版本选择1.2 输入输出cin和cout: 1.3 string以下是字符串的一些简介:字符串…

企业案例网站生成网页跳转微信小程序

Mycat 1.Mycat 分库分表中间件,将存放在一个数据库的数据存放在不同的多个数据库中。来分散负载。 scheme 逻辑库,对应mysql的数据库,一个逻辑库定义了包含的所有table.是数据库集群对外的统一访问接口。table 逻辑表,和物理数…