Merhaba python da bir kodum var ama bir kısmı çalışırken diğer kısım çalışmıyor. import requests from bs4 import BeautifulSoup import pandas as pd # Kullanıcıdan hisse kodunu al hisse_kodu = input("Lütfen çekmek istediğiniz hisse kodunu girin: ") # URL'yi oluştur url = f"https://analizim.halkyatirim.com.tr/Financial/ScoreCardDetail?hisseKod={hisse_kodu}" # Sayfayı getirin response = requests.get(url) # HTML içeriğini analiz edin soup = BeautifulSoup(response.content, "html.parser") # Finansallar tablosunu bulun finanslar_table = soup.find("table", {"id": "TBLFINANSALVERİLER1"}) # Finansallar tablosunu DataFrame çevir finanslar_df = pd.read_html(str(finanslar_table))[0] # Karlılık tablosunu bulun karlilik_table = soup.find("table", {"id": "TBLFINANSALVERİLER2"}) # Karlılık tablosunu DataFrame'e çevirin karlilik_df = pd.read_html(str(karlilik_table))[0] # Çarpanlar tablosunu bulun carpanlar_table = soup.find("table", {"id": "TBLFINANSALVERİLER3"}) # Çarpanlar tablosunu DataFrame'e çevirin carpanlar_df = pd.read_html(str(carpanlar_table))[0] # Excel dosyasını oluşturun ve DataFrame'leri yazın with pd.ExcelWriter("veriler.xlsx", engine='xlsxwriter') as writer: # Finanslar tablosunu yazın finanslar_df.to_excel(writer, sheet_name='Finanslar', index=False)
# Karlılık tablosunu yazın karlilik_df.to_excel(writer, sheet_name='Karlılık', index=False)
# Çarpanlar tablosunu yazın carpanlar_df.to_excel(writer, sheet_name='Çarpanlar', index=False)
# Her sayfadaki sütunları otomatik genişleme yapacak şekilde ayarlayın for sheet in writer.sheets: worksheet = writer.sheets[sheet] for i, column in enumerate(finanslar_df.columns): column_len = max( finanslar_df[column].astype(str).str.len().max(), len(column) + 2 ) worksheet.set_column(i, i, column_len) print("Veriler başarıyla kaydedildi.") Bu kodlar çalışıyor hiç bir hata yok import requests from bs4 import BeautifulSoup import pandas as pd # Kullanıcıdan sektörü al sektor = input("Lütfen çekmek istediğiniz sektörü girin: ") # URL'yi oluştur url = f"https://analizim.halkyatirim.com.tr/Financial/ScoreCardDetail?sector={sektor}" # Sayfayı getirin response = requests.get(url) # HTML içeriğini analiz edin soup = BeautifulSoup(response.content, "html.parser") # Finansallar tablosunu bulun finanslar_table = soup.find("table", {"id": "TBLFINANSALVERİLER1"}) # Finansallar tablosunu DataFrame çevir if finanslar_table: finanslar_df = pd.read_html(str(finanslar_table))[0] else: print("Finansal veriler tablosu bulunamadı.") # Karlılık tablosunu bulun karlilik_table = soup.find("table", {"id": "TBLFINANSALVERİLER2"}) # Karlılık tablosunu DataFrame'e çevirin if karlilik_table: karlilik_df = pd.read_html(str(karlilik_table))[0] else: print("Karlılık verileri tablosu bulunamadı.") # Çarpanlar tablosunu bulun carpanlar_table = soup.find("table", {"id": "TBLFINANSALVERİLER3"}) # Çarpanlar tablosunu DataFrame'e çevirin if carpanlar_table: carpanlar_df = pd.read_html(str(carpanlar_table))[0] else: print("Çarpanlar verileri tablosu bulunamadı.") # Excel dosyasını oluşturun ve DataFrame'leri yazın with pd.ExcelWriter("veriler.xlsx", engine='xlsxwriter') as writer: # Finanslar tablosunu yazın if 'finanslar_df' in locals(): finanslar_df.to_excel(writer, sheet_name='Finanslar', index=False)
# Karlılık tablosunu yazın if 'karlilik_df' in locals(): karlilik_df.to_excel(writer, sheet_name='Karlılık', index=False)
# Çarpanlar tablosunu yazın if 'carpanlar_df' in locals(): carpanlar_df.to_excel(writer, sheet_name='Çarpanlar', index=False)
# Her sayfadaki sütunları otomatik genişleme yapacak şekilde ayarlayın for sheet in writer.sheets: worksheet = writer.sheets[sheet] for i, column in enumerate(finanslar_df.columns): column_len = max( finanslar_df[column].astype(str).str.len().max(), len(column) + 2 ) worksheet.set_column(i, i, column_len) print("Veriler başarıyla kaydedildi.") Bu kodlar çalışmıyor ben şunu yapmaya çalışıyorum web sitesinin ilgili sektör ismindeki tüm hisselerin verilerini çekmek Kodları birleştirmeyi denedim yine aynı şekilde ikinci kodlamada tabloların bulunamadığına dair uyarı alıyorum |
Python iki kod arasındaki fark
-
-
import requests
from bs4 import BeautifulSoup
import pandas as pd
# Kullanıcıdan sektörü veya hisse kodunu al
secim = input("Hisse kodu mu (H) yoksa sektör mü (S) çekmek istersiniz?: ").upper()
if secim == "H":
# Kullanıcıdan hisse kodunu al
hisse_kodu = input("Lütfen çekmek istediğiniz hisse kodunu girin: ")
# URL'yi oluştur
url = f"https://analizim.halkyatirim.com.tr/Financial/ScoreCardDetail?hisseKod={hisse_kodu}"
else:
# Kullanıcıdan sektörü al
sektor = input("Lütfen çekmek istediğiniz sektörü girin: ")
# URL'yi oluştur
url = f"https://analizim.halkyatirim.com.tr/Financial/ScoreCardDetail?sector={sektor}"
# Sayfayı getirin
response = requests.get(url)
# HTML içeriğini analiz edin
soup = BeautifulSoup(response.content, "html.parser")
# Finansal veri tablolarını bul
finanslar_table = soup.find("table", {"id": "TBLFINANSALVERİLER1"})
karlilik_table = soup.find("table", {"id": "TBLFINANSALVERİLER2"})
carpanlar_table = soup.find("table", {"id": "TBLFINANSALVERİLER3"})
# Excel dosyasını oluşturun ve DataFrame'leri yazın
with pd.ExcelWriter("veriler.xlsx", engine='xlsxwriter') as writer:
# Hisse kodu için
if secim == "H":
finanslar_df = pd.read_html(str(finanslar_table))[0]
karlilik_df = pd.read_html(str(karlilik_table))[0]
carpanlar_df = pd.read_html(str(carpanlar_table))[0]
# DataFrame'leri oluşturun ve her biri için ayrı bir sayfaya yazın
finanslar_df.to_excel(writer, sheet_name='Finanslar', index=False)
karlilik_df.to_excel(writer, sheet_name='Karlılık', index=False)
carpanlar_df.to_excel(writer, sheet_name='Çarpanlar', index=False)
# Sektör için
else:
if finanslar_table and karlilik_table and carpanlar_table:
finanslar_df = pd.read_html(str(finanslar_table))[0]
karlilik_df = pd.read_html(str(karlilik_table))[0]
carpanlar_df = pd.read_html(str(carpanlar_table))[0]
# DataFrame'leri oluşturun ve her biri için ayrı bir sayfaya yazın
finanslar_df.to_excel(writer, sheet_name='Finanslar', index=False)
karlilik_df.to_excel(writer, sheet_name='Karlılık', index=False)
carpanlar_df.to_excel(writer, sheet_name='Çarpanlar', index=False)
else:
print("Sektör verileri bulunamadı.")
print("Veriler başarıyla kaydedildi.")
Kodları birleştirmeyi denedim ama çözüm olmadı
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X