Chatgpt kullanarak trendol indirimleri listeleyen ve excele atan code yazdım.

PcKedy

80+
Katılım
12 Mart 2023
Mesajlar
13
Reaksiyon skoru
13
Ne kadar İşinize Yarar Bilmiyorum

öncelikle python 3 kurmanız ve şu kütüphaneleri yüklemeniz lazım

BeautifulSoup,pandas,requests,openpyxl

kütüphane nasıl yüklenir:

python yükledikten sonra herhangi bir yerden cmd açıp

pip install kütüphane ismi

birde python editörü lazım visual code indirebilirsniz.

Kod:
import requests
from bs4 import BeautifulSoup
import pandas as pd

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
    "Upgrade-Insecure-Requests": "1",
    "Referer": "https://www.trendyol.com/",
    "Accept-Encoding": "gzip, deflate, br",
    "Accept-Language": "tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7",
}

url = "https://www.trendyol.com/oyuncu-donanimlari-x-c144420?pi={page}"

liste = list()

for page in range(1, 21):  # İlk 5 sayfa için listeleme yapılıyor
    r = requests.get(url.format(page=page), headers=headers)
    soup = BeautifulSoup(r.content, "html.parser")

    ürünler = soup.find_all("div", attrs={"class": "p-card-chldrn-cntnr"})

    for ürün in ürünler:
        try:
            ürünismi = ürün.find("span", attrs={"class": "prdct-desc-cntnr-name hasRatings"}).text.strip()
            orjinal_fiyat = ürün.find("div", attrs={"class": "prc-box-orgnl"}).text.strip("\n").replace("\nTL"," TL").strip()
            indirimli_fiyat = ürün.find("div", attrs={"class": "prc-box-dscntd"}).text.strip("\n").replace("\nTL"," TL").strip()
            fark = float(orjinal_fiyat.replace(' TL','').replace('.','').replace(',','.')) - float(indirimli_fiyat.replace(' TL','').replace('.','').replace(',','.'))
            fark = '{:.2f}'.format(fark).replace('.',',') + ' TL'
            liste.append([ürünismi, orjinal_fiyat, indirimli_fiyat, fark])
        except:
            continue

df = pd.DataFrame(liste,columns = ["Ürün İsmi","Orjinal Fiyat","İndirimli Fiyat", "Fark"])
df.to_excel('ürünler.xlsx', index=False)
yapmanız gereken 2 değişiklik var 1. url


trendyolda bir kategori seçtiniz ve filtrelediniz biraz aşağı inip 2. sayfaya geçiyoruz ve url sonu &pi=2 şeklinde bitecek bunu koddaki url ye ekliyoruz ama 2 kısmını siliyoruz.
örnek:

Kod:
url = "https://www.trendyol.com/sr?wc=108443&qt=ekran+kartlar%C4%B1&st=ekran+kartlar%C4%B1&attr=131%7C1756&os=1&pi={page}"

sonraki değiştireceğimiz şey ise sayfa aralığı 1 ile 11 sayfalarının hepsini listelesin dersek 1-10 daki tüm indirimli ürünleri listeler
örnek:
Kod:
for page in range(1, 11)

son işlem çalıştırmak.

ve biraz bekleyin listeleyip excele aktarsın.
 
bunun amazon için olanı lazım trendyol iptal ediyor zaten eline sağlık
 
Yeni mesajlar Yeni Konu Aç  

   

SON KONULAR

Forum istatistikleri

Konular
1,099,231
Mesajlar
9,887,024
Üyeler
174,840
Son üye
sinancavusx
Geri
Top