python爬取天气
python 爬虫
简单的爬取天气情况
```python from pypinyin import lazy_pinyin import requests from lxml import etree import re
Baseurl = 'https://www.tianqi.com/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', }
while True: citry = input("请输入城市名称:") pin_list = lazy_pinyin(citry, style=False) citry_pin = ''.join(pin_list)
Url = Baseurl + citry_pin request = requests.get(url=Url,headers=headers) request.encoding = '' Data = etree.HTML(request) print(Data.xpath('//div//dl//dd[@]/h2/text()')) Tianqi_Data = etree.HTML(request) citry_name = Tianqi_Data.xpath('//div//dl//dd[@]/h2/text()')[0] citry_week = Tianqi_Data.xpath('//div//dl//dd[@]/text()')[0] citrys = f'{citry_name}\n{citry_week}\n' citry_weather_now1 = Tianqi_Data.xpath('//div//dl//dd//p[@]/b/text()')[0] citry_weather_now3 = Tianqi_Data.xpath('//div//dl//dd[@]/span/b/text()')[0] citry_weather_now4 = Tianqi_Data.xpath('//div//dl//dd[@]/span/text()')[0] citry_weather = f'{citry_weather_now1}℃\n天气:{citry_weather_now3}\n{citry_weather_now4}\n' citry_shidus = Tianqi_Data.xpath('//div//dl//dd[@]/b/text()') citry_shidu = ",".join(citry_shidus) citry_kongqi1 = Tianqi_Data.xpath('//div//dl//dd[@]/h5/text()')[0] citry_kongqi2 = Tianqi_Data.xpath('//div//dl//dd[@]/span/text()') citry_kongqi3 = Tianqi_Data.xpath('//div//dl//dd[@]/h6/text()')[0] citry_kongqi = f'{citry_kongqi1}\nPM2.5:{citry_kongqi3.split(":")[-1]}\n{citry_kongqi2[0]}\n{citry_kongqi2[1]}\n' print(f'{citrys}\n{citry_weather}\n{citry_shidu}\n\n{citry_kongqi}') YN = input('是否查询未来天气(Y/N):') if YN == 'Y': day = input('请输入查询未来天气天数(3/7/15/30/40):') url_Jinqi = f'{Url}/{day}' req = requests.get(url=url_Jinqi, headers=headers).text Data_jinqi = etree.HTML(req) Q_time = Data_jinqi.xpath('//ul[@]//li//div//span/text()') Q_weather = Data_jinqi.xpath('//div[@]//text()') j = 0 result = [] for i in range(0, len(Q_time), 4): weather = [Q_weather[i] for i in range(0, len(Q_weather), 5)] result.append( Q_time[i] + ',' + Q_time[i + 1] + ',' + weather[j] + ',' + '温度:' + Q_time[i + 2] + '~' + Q_time[ i + 3] + '℃') j += 1 for item in result: print(item) else: print('已退出!')
```
参考文献
- 分布式智能网络爬虫的设计与实现(中国科学院大学(工程管理与信息技术学院)·何国正)
- 基于标记模板的分布式网络爬虫系统的设计与实现(华中科技大学·杨林)
- 基于移动应用的聊城市公共气象服务平台的设计与实现(山东大学·贾斌)
- 网站文本数据采集系统的设计与实现(北京交通大学·田丹)
- 气象信息管理系统的设计与实现(吉林大学·单薇薇)
- 基于安全域的民航气象信息服务系统的设计与实现(西安电子科技大学·梁欣)
- 山西省气象中期预报应用系统的设计与实现(山西大学·宋鹏飞)
- 主题爬虫关键技术研究(哈尔滨工程大学·黄正德)
- 轻量级分布式虚假信息爬虫的设计与实现(辽宁大学·韩昱)
- 基于分布式的气象数据处理及可视化平台研究(南京信息工程大学·李正方)
- 基于深度学习的天气现象识别算法研究与应用(北京工业大学·陈思玮)
- 乌海矿区空气质量监测及预警系统设计与实现(北京林业大学·唐泰杰)
- 主题爬虫关键技术研究(哈尔滨工程大学·黄正德)
- 基于redis的分布式自动化爬虫的设计与实现(华中科技大学·曾胜)
- 网络舆情爬虫系统的设计与实现(厦门大学·李海燕)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计工坊 ,原文地址:https://bishedaima.com/yuanma/35412.html