天气预报的爬虫内容打印并存储用户操作

avatar
作者
筋斗云
阅读量:0

  • 系统名称: 基于网络爬虫技术的天气数据查询系统
  • 文档作者:清馨
  • 创作时间:2024-7-29
  • 最新修改时间:2024-7-29
  • 最新版本号: 1.0

1.背景描述

该系统将基于目前比较流行的网络爬虫技术,对网站上(NowAPI 数据接口服务商 诺派数据)的天气数据进行查询抓包分析,最终使客户能够通过简单的操作,快速,准确的获取目标天气数据。主要包括两部分的功能,第一部分是天气数据查询,包括时间段数据查询,实时天气数据查询;第二部分是打印查询出的天气数据。

2.项目功能:

 

  • 数据输入与显示(控制台):主要用于用户输入天气数据查询的条件信息,以及显示查询结果
  • 数据检查模块:用于检查用户输入的数据是否有效,格式是否正确
  • 时间段数据查询:用于收集时间段数据查询所需要的所有数据,调用网络数据查询模块,同时对网络数据查询模块的返回值进行整理,使其按照规定的格式返回控制台进行显示,并且把查询结果暂存到缓存区用于后续的打印。查询时间以用户输入的起始日期开始,输入的终止日期结束
  • 实时数据查询:用于收集实时数据查询所需要的所有数据,调用网络数据查询模块,同时对网络数据查询模块的返回值进行整理,使其按照规定的格式返回控制台进行显示,并且把查询结果暂存到缓存区用于后续的打印,查询时间区间为以输入有效的终止时间的时刻为准的操作系统时间为起始时间,以输入的终止时间为结束时间
  • 数据打印模块:当用户选择数据打印时,从暂存区读出数据进行打印

3.项目框架:

整体使用多文件管理实现:

Main.c:主函数调用接口,通过终端显示选择供用户直接使用。

Body.c:

        1.TCP网络接口:

当日:103.205.5.249:80

FLAG:http://api.k780.com/?app=weather.today&cityNm=西安&appkey=73537&sign=9364942420f99e812362d80ac22493fc&format=json

http://api.k780.com/?app=weather.future&cityNm=西安&appkey=73537&sign=9364942420f99e812362d80ac22493fc&format=json

  1. 终端输入实现对当前或者未来天气的内容进行爬虫
  2. 使用cjson对爬虫得到的内容键值段进行分段处理。
  3. 打印在终端,并将用户输入的操作放入log中

Body.h

Head.h

4.项目模块分析介绍:

socket(IP:113.137.45.90:443)->send(

GET/?app=weather.today&cityno=beijing&appkey=73537&sign=9364942420f99e812362d80ac22493fc&format=json HTTP/1.1

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6

Connection: keep-close

Host: api.k780.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0)->recv(接收网络爬虫得到的数据并打印)->cjson(对得到的键值段进行分段)->页面打印并提供终端选择->对用户终端输入值进行文件保存(log)

5.项目流程图:

项目流程(部分)

项目内容代码

 

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!