【爬虫实战】——Python爬取天气信息
import requests
from bs4 import BeautifulSoup
import re
import json
def get_weather_data(city):
# 设置代理,避免被服务器识别为爬虫
proxies = {
'http': 'http://120.77.252.146:80',
'https': 'https://120.77.252.146:80',
}
# 天气API接口
api_url = 'http://wthrcdn.etouch.cn/weather_mini?city=' + city
# 发送请求
response = requests.get(api_url, proxies=proxies)
# 检查请求是否成功
if response.status_code == 200:
# 解析JSON数据
data = json.loads(response.text)
return data
else:
return None
def print_weather(data):
if data:
# 获取天气信息
forecast = data.get('data').get('forecast')
# 打印城市和今天的天气
print(f"城市:{data.get('data').get('city')}")
print(f"今天天气:{forecast[0].get('type')},温度:{forecast[0].get('low')} ~ {forecast[0].get('high')}")
# 调用函数获取北京市的天气信息
weather_data = get_weather_data('北京')
print_weather(weather_data)
这段代码使用了一个公开的天气API接口,并通过GET请求发送城市名称来获取天气数据。然后,它使用json模块解析响应并打印出北京市的天气信息。这个例子简单明了,展示了如何使用Python网络爬虫获取天气信息的基本方法。
评论已关闭