Hava durumu

Job ID: 38372913

Budget: $30 – $250 USD

## Python ile Web Scraping Projesi

### Proje: Hava Durumu Verilerini Toplama ve Analiz Etme

#### Amaç:
Belirli bir şehir için hava durumu verilerini toplayıp, bu verileri analiz ederek ortalama sıcaklık, nem oranı gibi bilgileri çıkarmak.

#### Gereksinimler:
- Python
- BeautifulSoup
- Requests
- Pandas
- Matplotlib

#### Adımlar:
1. **Veri Toplama:**
- Web scraping ile bir hava durumu sitesinden veri çekmek.
- Örneğin: `https://www.weather.com/`

2. **Veri İşleme:**
- Çekilen verileri anlamlandırmak ve Pandas DataFrame'ine dönüştürmek.
- Gereksiz bilgileri temizlemek ve analiz için gerekli olanları seçmek.

3. **Veri Analizi:**
- Günlük ortalama sıcaklık, nem oranı gibi bilgileri hesaplamak.
- Zaman içinde hava durumu değişikliklerini gözlemlemek.

4. **Veri Görselleştirme:**
- Matplotlib kullanarak verileri görselleştirmek.
- Örneğin, belirli bir süre için sıcaklık değişim grafiği oluşturmak.

#### Örnek Kod:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt

# Hava durumu verilerini çek
url = 'https://www.weather.com/weather/tenday/l/USCA0638:1:US'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# Gerekli verileri ayıkla
days = [item.text for item in soup.find_all(class_='DailyContent--daypartDate--3MM0J')]
temps = [item.text for item in soup.find_all(class_='DailyContent--temp--3d4dn')]

# Verileri DataFrame'e dönüştür
data = pd.DataFrame({
'Gün': days,
'Sıcaklık': temps
})

# Sıcaklık verilerini sayısal değerlere dönüştür
data['Sıcaklık'] = data['Sıcaklık'].str.extract('(\d+)').astype(int)

# Ortalama sıcaklığı hesapla
ortalama_sicaklik = data['Sıcaklık'].mean()
print(f'Ortalama Sıcaklık: {ortalama_sicaklik}°C')

# Sıcaklık değişimini görselleştir
plt.plot(data['Gün'], data['Sıcaklık'], marker='o')
plt.title('10 Günlük Sıcaklık Değişimi')
plt.xlabel('Gün')
plt.ylabel('Sıcaklık (°C)')
plt.xticks(rotation=45)
plt.grid(True)
plt.show()
```

Bu proje, temel web scraping ve veri analizi becerilerini geliştirmek için harika bir örnek olabilir. Ayrıca, hava durumu gibi günlük hayatta kullanışlı bilgileri analiz ederek pratik bir uygulama yapma fırsatı sunar.