iyi çalışmalar. son for döngüsü ile aldığım puanları çoktan aza doğru sıralamak istiyorum. yardımcı olabilecek olan var mı ? sort() methodu denedim fakat hata alıyorum. kodu başka hangi yolla yazabilirm?
import requests
from bs4 import BeautifulSoup
denebunu= requests.get(“https://denebunu.com/products/”)
print(denebunu.status_code)
print(denebunu.content)
jobs =denebunu.content.decode()
soup = BeautifulSoup(jobs,“html.parser”)
a = soup.find(‘div’, attrs={‘id’: ‘collapseSubcategories’}).ul
for x in a.find_all(‘li’):
print(x.a.text.strip())
spans = soup.find_all(“span”,{“class”:“label label-default”})
for x in spans:
print(x.text.strip())
kodum bu şekilde uyarınız için teşekkür ederim. siteden veri çekmeye çalışıyorum.
Aldığınız verileri str
tipinden float
tipine çevirip, bir listeye aktarıp, sonrasında sort()
veya sorted()
kullanabilirsiniz.
import requests
from bs4 import BeautifulSoup
denebunu = requests.get("https://denebunu.com/products/")
jobs = denebunu.content.decode()
soup = BeautifulSoup(jobs, "html.parser")
spans = soup.find_all("span",{"class": "label label-default"})
liste = []
for x in spans:
liste.append(float(x.text.strip()))
liste = sorted(liste)
print(liste)
[4.35, 4.42, 4.49, 4.5, 4.51, 4.55, 4.57, 4.6, 4.6, 4.62, 4.62, 4.63, 4.65, 4.66, 4.82]
hızlısın bende floata çevirmiştim veriyi sonrasında nasıl sıralayacağıma bakıyordum.
konu açarken kod paylaşmanız gerektiğinde </> simgesine basın yada Ctrl+E sonra kodunuzu kopyalayın. Cevap verecekler için tekrardan düzenleme işi yaptırmamış olursunuz.
tabi ki sitede yeniyim kusura bakmayın dikkat edeceğim.
çok teşekkür ederim. çok yardımcı oldunuz iyi çalışmalar.