Kusra bakmayın ayak üstü bakabildim.
Bir kaç ihtimal var kodunuza tamamen bakmadım.
URL ={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"}
Satırı ile siteye bir başlık bigisi gönderdik. Bazan siteler başlık bilgisi olmayan istekleri cevaplamayabiliyor.
if sayfaninCevabi.status_code==200:
Kontrolünden sonra datayı çekmek istiyorsun, belki burada status kod gecikiyor yada doğru dönmüyor bakmak gerekir.
Üçüncüsü
soup.find_all("div", {"class":"dk_MC"})
ile dk_MC sınıfının tamamını çağırdım.
Siz sadece L0 a ulaşmaya çalışmışsınız.
Dördüncüsü
dovizCinsi=icerik.find("span").text
dovizAlis=icerik.find_all("td")[1:][0].text
dovizSatis=icerik.find_all("td")[1:][1].text
ile parse ederken sorun yaşamış olabilirsiniz. Çünkü sınıf yapısını iyi incelemek gerekiyor.
İçinde ikon listeleri de var sanırım ve alamadığında yada metne çeviremediğinde ne davranış sergiliyor bilemedim.
Yani birden çok yerde birden çok ihtimaldeki kodunuzu adım adım çalıştırıp bakmak gerekir ki, ven metin dosyasında yazıp, terminalden doğrudan çalıştırıp baktım.
import requests
from bs4 import BeautifulSoup
URL ={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"}
cagrigungor=requests.get("https://www.isbank.com.tr/doviz-kurlari",headers= URL)
sayfakaynagi=cagrigungor.content
soup=BeautifulSoup(sayfakaynagi,"html.parser")
for icerik in soup.find_all("tr", {"class":"dk_HdrTr"}):
print (icerik.text)
for icerik in soup.find_all("tr", {"class":"dk_L0"}):
temp= icerik.text
print(temp.strip())
for icerik in soup.find_all("tr", {"class":"dk_L1"}):
temp=icerik.text
print(temp.strip())
Şeklinde kodu biraz daha basitleştireyim. Zaten bir kaç satır bir kod.
Burada siz icerikleri nasıl böleceğinize kendiniz karar verirsiniz.