Merhaba arkadaşlar bir konuda yardıma ihtiyacım var birinci kodlar gayet düzgün çalışırken ikincisi çalışmıyor. Nedenini bulamıyorum.
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.")
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.")
Ben iki kod arasında bir fark bulamadım ama
ikinci kodlamada tabloların bulunamadığına dair uyarı alıyorum