如何用pyqt5爬取某个城市的温度和天气
时间: 2023-06-17 08:08:49 浏览: 64
你可以使用 Python 的 requests 库来请求天气数据,然后使用 PyQt5 来显示数据。
以下是一个简单的示例代码,可以获取北京市的天气数据并显示在 PyQt5 窗口中:
```python
import requests
from PyQt5 import QtWidgets, QtGui, QtCore
class WeatherWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
layout = QtWidgets.QVBoxLayout(self)
self.city_label = QtWidgets.QLabel(self)
self.temp_label = QtWidgets.QLabel(self)
self.desc_label = QtWidgets.QLabel(self)
layout.addWidget(self.city_label)
layout.addWidget(self.temp_label)
layout.addWidget(self.desc_label)
self.update_weather()
def update_weather(self):
response = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=北京')
data = response.json()
self.city_label.setText(data['data']['city'])
self.temp_label.setText('温度:{}℃'.format(data['data']['wendu']))
self.desc_label.setText('天气:{}'.format(data['data']['forecast'][0]['type']))
QtCore.QTimer.singleShot(60000, self.update_weather)
if __name__ == '__main__':
app = QtWidgets.QApplication([])
widget = WeatherWidget()
widget.show()
app.exec_()
```
该代码使用了 requests 库来请求天气数据,并使用 QTimer 来定时更新数据。你可以根据你的需求修改城市名和更新频率。