Split fonksiyonunda yardım

Merhaba

Stok Kodu : 8697494150094-kirmizi

elimde şu şekilde bir veri var ben burdan sadece 8697494150094 bu kısmı almak istiyorum, nasıl yapabilirim acaba

stokkod = "8697494150094-kirmizi"
print(stokkod.split("-")[0])

o zaman çıktı bu şekilde geliyor

Stok Kodu : 8697494150094

ben sadece

8697494150094 bunu istiyorum

tek seferde alamadım bende iki kez böldüm bu şekilde bir çözüme ulaştım

split methodu yerine düzenli ifadede kullanılabilir aslında

import re

stokkod = "Stok Kodu : 8697494150094-kirmizi"
result = re.search(r"([0-9]+)",stokkod)
print(result.group(0))
#Çıktı:
#8697494150094

split ile defalarca bölmek yerine bu kullanılabilir.

1 Beğeni

bu daha kolay oldu çok teşekkür ederim.

aynı stok kodundan birden fazla var ise o o kodların yanına “-1”, “-2”… şeklinde ekleme nasıl yapabilirim peki

Kodu buraya atarsanız daha iyi olur. Stok kodu ayrıldıktan sora bunları liste içinde mi tutuyorsunuz. Ya da stok kodu ayrıldıktan sonra ne gibi bir işlem yapıyorsunuz.

from bs4 import BeautifulSoup
import requests
import urllib.request
import re

def get_sitemap(url):
    get_url = requests.get(url)

    if get_url.status_code == 200:
        return get_url.text
    else:
        print ('Site Haritasını Bulamadım: %s.' % url)


def process_sitemap(s):
    soup = BeautifulSoup(s)
    result = []

    for loc in soup.findAll('loc'):
        result.append(loc.text)

    return result


def is_sub_sitemap(s):
    if s.endswith('.xml') and 'sitemap-product' in s:
        return True
    else:
        return False


def parse_sitemap(s):
    sitemap = process_sitemap(s)
    result = []

    while sitemap:
        candidate = sitemap.pop()

        if is_sub_sitemap(candidate):
            sub_sitemap = get_sitemap(candidate)
            for i in process_sitemap(sub_sitemap):
                sitemap.append(i)
        else:
            result.append(candidate)

    return result


def main():
    sitemap = get_sitemap('https://www.adres.com.tr/sitemap.xml')
    urunler =((parse_sitemap(sitemap)))
    for i in urunler:
        git =requests.get(i)

        getir =BeautifulSoup (git.content)
        resim1 =getir.findAll('img', {"class" : "detay_slider_gorsel"} ,)
        ad= getir.findAll('div', {"class" : "stok_kod"})
        if not ad:
            continue
        ismi =(ad[0].text)
        adi= re.search(r"([0-9]+)",ismi)
        dosyaadi=(adi.group(0))



        for resim in resim1:
            indir=(resim.get("src"))
            da= (dosyaadi+".jpg")
            if  not resim:
                continue
            print(da)
            urllib.request.urlretrieve(indir, da)



if __name__ == '__main__':
    main()
sayac = 1
for resim in resim1:
	indir=(resim.get("src"))
	while os.path.isfile(dosyaadi+".jpg"):
		dosyaadi = dosyaadi+"-"+str(sayac)
		sayac+=1
	sayac = 1
	
	da= (dosyaadi+".jpg")
	if  not resim:
		continue
	print(da)
	urllib.request.urlretrieve(indir, da)

Bu şekilde değişiklik yapıp dener misiniz?
os modulünü import etmeyi unutmayın

ilgin için çok teşekkür ederim yalnız “-1” ler uzuyor
6942434402439-1.jpg
6942434402439-1-1.jpg
örnekteki gibi
ben “6942434402439-2” şeklinde olsun istemiştim ::slight_smile:

Evet farkettim hatayı ama yeni hali böyle olamalı:

sayac = 1
kod = dosyaadi
for resim in resim1:
	indir=(resim.get("src"))
	while os.path.isfile(dosyaadi+".jpg"):
		dosyaadi = kod+"-"+str(sayac)
		sayac+=1
	sayac = 1
	
	da= (dosyaadi+".jpg")
	if  not resim:
		continue
	print(da)
	urllib.request.urlretrieve(indir, da)
1 Beğeni

Çalıştı çok teşekkür ederim