Beatifulsoup ile p class değeri almakta sorun var

Merhaba arkadaşlar,

Aşağıdaki HTML den “fon fiyatı TRY” değerini almaya çalışıyorum.
Hazırladığım kod aşağıdaki gibi ama boş geliyor, yardımcı olabilirseniz çok makbule geçer.

https://www.garantibbvaportfoy.com.tr/birinci-para-piyasasi-fonu

from bs4 import BeautifulSoup
import requests
res = requests.get(‘Garanti BBVA Portföy’)
res.encoding = ‘utf-8’
soup = BeautifulSoup(res.text, ‘html.parser’)
TRY = soup.find_all(‘p’, class_="w-100 font-weight-medium mb-0 text-blue fund-close ")
print(TRY)

almak istediğiniz verileri sayfa yüklendikten sonra javascript ile çekiyor dolayısıyla o şekilde alamazsınız

import json
import requests

url = "https://www.garantibbvaportfoy.com.tr/webservice/funddailyvalues"
headers = {"Content-Type": "application/json"}
jsonData = {
    
    "code"      : "GTL",
    "date"      : "2022-04-28",
    "lang"      : "tr",
    "rollBack"  : "T"

}
r = requests.post(url, headers = headers, json = jsonData)

resp = json.loads(r.json())
print(resp["data"]["Close"])
1 Beğeni

çok teşekkür ederim, çok hızlı ve net bir yardım oldu, çok naziksiniz.

Acaba tarihi kodun çalıştırıldığı tarih olarak otomatik alabilecek şekilde düzenleme şansımız var mı? bunu da çözebilirsek süper olacak. Sağlıkla kalın

2 Beğeni

elbette datetime ile de yapabilirsiniz ancak verdiğiniz site bunu da size veriyor

import requests
r = requests.post("https://www.garantibbvaportfoy.com.tr/webservice/lastdate", headers = {})
tarih = r.text.strip('"')
1 Beğeni

teşekkürler ama keşke sizin kadar bilgili olsam.
Ben size hatalı ifade etmişim konuyu, aslında gerçekten istediğim şey, kodu çalıştırdığımda, çalıştırdığım gündeki veriyi alması idi. Yani bugün çalıştırırsam bugünkü veriyi, yarın çalıştırırsam yarınki veriyi alsın istiyordum. Sizi yoruyorum, ilginize tekrar teşekkürler

1 Beğeni

son attığım kodu başa yazarsanız zaten ilk koddaki tarih yerine tarih değişkenini yazarak istediğinizi elde edebiliyorsunuz

import json
import requests

r = requests.post("https://www.garantibbvaportfoy.com.tr/webservice/lastdate")
tarih = r.text.strip('"')

url = "https://www.garantibbvaportfoy.com.tr/webservice/funddailyvalues"
headers = {"Content-Type": "application/json"}
jsonData = {
    
    "code"      : "GTL",
    "date"      : tarih,
    "lang"      : "tr",
    "rollBack"  : "T"

}
r = requests.post(url, headers = headers, json = jsonData)

resp = json.loads(r.json())
print(resp["data"]["Close"])
2 Beğeni

teşekkür ederim yardımlarınız için sağlıkla kalın

1 Beğeni