基于网络爬虫的天气查询系统

  基于网络爬虫的天气查询系统

设计文档

  • 系统名称:基于网络爬虫的天气查询系统
  • 文档作者:张乐
  • 创作时间:2024.7.30
  • 最新修改时间:2024.7.30
  • 最新版本号: 0.1
  1. 背景描述

         该系统可以基于linux操作系统通过模拟http协议给对方服务器发送相应请求报文,从而获得相应的响应报文,能够方便客户使用该系统来方便的查询相应时间段的天气情况,主要包括2部分功能,一是获取当天天气情况,而是获取包括当天在内的未来7天天气情况。

  • 客户名称: T. Liu
  • 开发者名称:乐桑
  1. 概要设计文档

2.1系统结构图

2.2模块介绍:

  • 字符界面交互模块(控制台): 主要用于用户输入选项方便操作控制器工作,以及打印辅助操作的信息。
  • 用户要求匹配模块: 用于匹配用户的操作指令选项,使查询报文模块的准确工作。
  • 查询报文模块: 主要根据匹配到的用户命令,模拟http协议向服务器发送请求报文,再接收服务器的响应报文,再将加工过后的响应报文送到响应报文处理模块解析。
  • 处理信息整合模块:调用响应报文处理模块,整合处理出的单个信息并展示到字符界面
  • 响应报文处理模块: 受处理信息整合模块不断调用,使用cJSON函数接口处理出相应的单个信息。
  • 服务器:服务端,建立连接后可以接收请求报文并返回响应报文。
  • 日志模块: 选择危险等级,记录全局的打印信息,并保存进相应文件,文件每天会创建相应日期名称的新文件,并每满30天清空日志文件。

  1. 详细设计文档
    1. 字符界面输入与显示

Void showmenu(void)等函数通过主函数的逻辑共同实现;

流程图:

    1. 用户要求匹配模块

通过主函数中的scanf函数输入和int choose(int i)函数实现

    1. 查询报文模块

Send_inf_init(char *ip,int post);该函数主要用来初始化和与服务器创建tcp连接;

Int Requsetinf(char jbuff,char datety,char *city);该函数主要通过匹配到的城市信息等报文需求信息向jbuff中写入截取后的响应报文信息。

    1. 响应报文处理模

Void Todayweather(void);

Void futureweather(void);根据用户索要查询的日期类型不同,这两个函数可以接受相应报文,并不断调用报文处理模块,并整合处理信息并打印。

    1. 日志模块

Int loginit(void):返回int型的文件描述符便于操作初始化的日志文件。

Int logwrite(int leve,int fd,char *ifo):用于向日志文件写相应危险等级和信息的日志。

Int Logclose(int fd):关闭日志文件。

Int dltlog(void):用于定期清理日志文件。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值