Çözüldü Sitede birden fazla aynı isimli veri var

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Baris996

Hectopat
Katılım
3 Nisan 2020
Mesajlar
149
Çözümler
6
Yer
Edirne
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Merhabalar ben investing.com 'dan Python dili ile veri çekmek istiyorum fakat sitede aynı isimli birçok veri var eklerde belirttiğim gibi. O verinin altına inince veri çekmiyor.

Ayrıca orada text="BTC" yazıyor onu python'a yazmayı beceremedim
 

Dosya Ekleri

  • 2022-11-21 (1).png
    2022-11-21 (1).png
    368,4 KB · Görüntüleme: 57
  • 2022-11-21.png
    2022-11-21.png
    370,5 KB · Görüntüleme: 59
Çözüm
Sanırım evet yeni yüklemiştim.

Hocam ben çözdüm Google Finans sitesinden çekiyorum veriyi kodlar şu şekilde.
Kod:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/BTC-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
btc = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(btc)):
    btc[i] = (btc[i].text).strip("\n").strip()
    liste.append([btc[i]])
df = pd.DataFrame(liste,columns = ["Bitcoin TL"])
print(df)
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/ETH-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
eth = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(eth)):
    eth[i] = (eth[i].text).strip("\n").strip()
    liste.append([eth[i]])
df = pd.DataFrame(liste,columns = ["Etherium TL"])
print(df)
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/USDT-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
usdt = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(usdt)):
    usdt[i] = (usdt[i].text).strip("\n").strip()
    liste.append([usdt[i]])
df = pd.DataFrame(liste,columns = ["Tether TL"])
print(df)
input("ENTER")
Hocam Soup'tan yapıyorum ben bunu tam olarak nasıl yazabilirim?

Elementi bu şekilde seçebilirsiniz.

td[class="price js-currency-price"][title="BTC"]
Yani td ve class kısmında hata veriyor.

Kod:
btc = soup.find_all("div", attrs={"class":"discount_prices"})
 
Yok hocam olmadı.
Python:
btc = soup.select('td[class="price js-currency-price"][title="BTC"]')
select kullanmayı deneyin hocam.

Kod:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://tr.investing.com/crypto/"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi, "html.parser")
btc = soup.select('td[class="price js-currency-price"][title="BTC"]')
eth = soup.select('td[class="price js-currency-price"][title="ETH"]')
liste = list()
for i in range(len(btc)):
    btc[i] = (btc[i].text).strip("\n").strip()
    eth[i] = (eth[i].text).strip("\n").strip()
    liste.append([btc[i],eth[i]])
    
    cıktı = pd.DataFrame(liste,columns = ["Bitcoin Fiyatı", "Etherium Fiyatı"])
    print(cıktı)
 
Son düzenleme:
BeautifulSoup 4.7.1 ve üstünü kullanıyorsun değil mi? Bu yaptığımız çoklu attribute selector alt versiyonlarda desteklenmiyormuş.
 
Sanırım evet yeni yüklemiştim.

Hocam ben çözdüm Google Finans sitesinden çekiyorum veriyi kodlar şu şekilde.
Kod:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/BTC-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
btc = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(btc)):
    btc[i] = (btc[i].text).strip("\n").strip()
    liste.append([btc[i]])
df = pd.DataFrame(liste,columns = ["Bitcoin TL"])
print(df)
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/ETH-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
eth = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(eth)):
    eth[i] = (eth[i].text).strip("\n").strip()
    liste.append([eth[i]])
df = pd.DataFrame(liste,columns = ["Etherium TL"])
print(df)
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://www.google.com/finance/quote/USDT-TRY"
response = requests.get(url)
html_icerigi = response.content
soup = BeautifulSoup(html_icerigi,"html.parser")
usdt = soup.find_all("div",{"class":"YMlKec fxKbKc"})
liste = list()
for i in range(len(usdt)):
    usdt[i] = (usdt[i].text).strip("\n").strip()
    liste.append([usdt[i]])
df = pd.DataFrame(liste,columns = ["Tether TL"])
print(df)
input("ENTER")
 
Son düzenleme:
Çözüm

Technopat Haberler

Geri
Yukarı