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.
yapmanız gereken 2 değişiklik var 1. url
www.trendyol.com
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:
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:
son işlem çalıştırmak.
ve biraz bekleyin listeleyip excele aktarsın.
ö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)
Tüm Ürünler - Trendyol
Sevdiğin markaların yeni sezon ürünleri ve kampanya fırsatları Trendyol’da!
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.