Merhaba
Stok Kodu : 8697494150094-kirmizi
elimde şu şekilde bir veri var ben burdan sadece 8697494150094 bu kısmı almak istiyorum, nasıl yapabilirim acaba
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.
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 :
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)
Çalıştı çok teşekkür ederim