Site Overlay

Ürün Çekme

Başka bir Sitede ki Ürün Bilgilerini WordPress Sayfasına Çekme

Bu makalede, bir web sitesinden ürün bilgilerini çekerek WordPress sayfanızda yayınlamak için bir Python scripti kullanacağız. Bu işlemi adım adım açıklayacağız.

Gereksinimler

  • Python 3.x (Python’un en son sürümünü buradan indirebilirsiniz)
  • requests ve beautifulsoup4 kütüphaneleri

Adım 1: Python ve Gerekli Kütüphaneleri Kurma

Öncelikle, Python’u indirip kurun. Ardından, requests ve beautifulsoup4 kütüphanelerini yüklemek için aşağıdaki komutları çalıştırın:

pip install requests
pip install beautifulsoup4

Adım 2: WordPress’te Uygulama Şifresi Oluşturma

WordPress’te uygulama şifresi oluşturmak için aşağıdaki adımları izleyin:

  1. WordPress admin panelinize gidin.
  2. Kullanıcılar > Profiliniz menüsüne tıklayın.
  3. “Uygulama Şifreleri” bölümüne gidin.
  4. Yeni bir uygulama şifresi oluşturun ve bir isim verin (örneğin, minakaia).
  5. Oluşturulan şifreyi not alın.

Adım 3: Python Scriptini Hazırlama

Aşağıdaki Python scriptini urun_cekme.py adıyla kaydedin. Bu script, Minakaia’dan ürün bilgilerini çekip WordPress sayfanızı güncelleyecektir.

import requests
from bs4 import BeautifulSoup
import base64
import json

# Minakaia'dan veri çekme
def get_products_from_minakaia():
    url = "https://www.siteeeee.com/alt-giyim"
    response = requests.get(url)
    if response.status_code != 200:
        print(f"Minakaia sayfasına erişilemedi. HTTP Durum Kodu: {response.status_code}")
        return []

    soup = BeautifulSoup(response.content, "html.parser")
    urunler = soup.find_all("div", class_="productItem")

    if not urunler:
        print("Hiç ürün bulunamadı. HTML yapısı değişmiş olabilir.")
        return []

    product_list = []
    for urun in urunler:
        urun_basligi = urun.find("div", class_="productName").text.strip() if urun.find("div", class_="productName") else "Başlık Bulunamadı"
        urun_fiyati = urun.find("div", class_="discountPrice").find("span").text.strip() if urun.find("div", class_="discountPrice") else "Fiyat Bulunamadı"
        urun_resim = urun.find("img", class_="resimOrginal")["src"] if urun.find("img", class_="resimOrginal") else "Resim Bulunamadı"
        
        product = {
            "title": urun_basligi,
            "price": urun_fiyati,
            "image": urun_resim
        }
        product_list.append(product)

    return product_list

# WordPress sayfasını güncelleme
def update_wordpress_page(products, page_id):
    wp_url = f"https://arifakyuz.com/wp-json/wp/v2/pages/{page_id}"
    username = "admin"  # WordPress kullanıcı adınız
    password = "SdEe f7xb KcU4 VwqT Mw3m 1gjA"  # Oluşturduğunuz uygulama şifresi

    token = base64.b64encode(f"{username}:{password}".encode()).decode("utf-8")
    headers = {
        "Authorization": f"Basic {token}",
        "Content-Type": "application/json"
    }

    # Ürünlerin HTML içeriğini oluşturma
    content = ""
    for product in products:
        content += f"<h2>{product['title']}</h2>"
        content += f"<p>Fiyat: {product['price']}</p>"
        content += f"<img src='{product['image']}' alt='{product['title']}'><hr>"

    print(f"Güncellenen İçerik: {content}")

    data = {
        "content": content
    }

    wp_response = requests.post(wp_url, headers=headers, data=json.dumps(data))
    if wp_response.status_code not in range(200, 300):
        print(f"Sayfa güncellenirken bir hata oluştu: {wp_response.status_code}")
        print(wp_response.text)
    else:
        print(f"Başarıyla güncellendi: {wp_response.json()}")
    return wp_response.json()

# Ana fonksiyon
if __name__ == "__main__":
    page_id = 4677  # "Ürün Çekme" sayfanızın ID'si
    products = get_products_from_minakaia()
    if not products:
        print("siteee.com'dan ürün bilgileri alınamadı.")
    else:
        print(f"Çekilen Ürünler: {products}")
        response = update_wordpress_page(products, page_id)
        print(response)

Adım 4: Scripti Çalıştırma

  1. Scriptin bulunduğu dizine gidin:
cd <script_dizini>

Scripti çalıştırın:

python urun_cekme.py

Bu adımları takip ederek Minakaia’dan ürün bilgilerini çekip WordPress sayfanızda yayınlayabilirsiniz. Script çalıştırıldığında, ürün başlıkları ve fiyatları https://arifakyuz.com/urun-cekme/ sayfasında görünecektir.

Çiçek Desenli Siyah Şort Etek

Fiyat: ₺439,00

Çiçek Desenli Siyah Şort Etek


Çiçek Desenli Krem Şort Etek

Fiyat: ₺439,00

Çiçek Desenli Krem Şort Etek


Hasır Kemerli Düğmeli Beyaz Etek

Fiyat: ₺599,00

Hasır Kemerli Düğmeli Beyaz Etek


Keten Pantalon

Fiyat: ₺979,00

Keten Pantalon


Şortlu Keten Etek

Fiyat: ₺979,00

Şortlu Keten Etek


Beli Lastikli Bej Havuç Pantalon

Fiyat: ₺979,00

Beli Lastikli Bej Havuç Pantalon


Bağlamalı Taş Keten Pantalon

Fiyat: ₺639,00

Bağlamalı Taş Keten Pantalon


Siyah Tulum

Fiyat: ₺899,00

Siyah Tulum


Beli Lastikli Pantalon

Fiyat: ₺819,00

Beli Lastikli Pantalon


Şehir Boy Füme Kot Şort

Fiyat: ₺499,00

Şehir Boy Füme Kot Şort


Leopar Beli Lastikli Pantalon

Fiyat: ₺599,00

Leopar Beli Lastikli Pantalon


Buruşuk Görünümlü Bej Midi Etek

Fiyat: ₺579,00

Buruşuk Görünümlü Bej Midi Etek


Buruşuk Görünümlü Yeşil Midi Etek

Fiyat: ₺579,00

Buruşuk Görünümlü Yeşil Midi Etek


Buruşuk Görünümlü Pembe Midi Etek

Fiyat: ₺579,00

Buruşuk Görünümlü Pembe Midi Etek


Buruşuk Görünümlü Mint Midi Etek

Fiyat: ₺579,00

Buruşuk Görünümlü Mint Midi Etek


Bağlamalı Yeşil Keten Pantalon

Fiyat: ₺639,00

Bağlamalı Yeşil Keten Pantalon


Bağlamalı Keten Beyaz Pantalon

Fiyat: ₺639,00

Bağlamalı Keten Beyaz Pantalon


Bej Çizgili Kuşak Detaylı Tulum

Fiyat: ₺1.099,00

Bej Çizgili Kuşak Detaylı Tulum


Siyah Çizgili Kuşak Detaylı Tulum

Fiyat: ₺1.099,00

Siyah Çizgili Kuşak Detaylı Tulum


Buruşuk Görünümlü Beyaz Midi Etek

Fiyat: ₺579,00

Buruşuk Görünümlü Beyaz Midi Etek


Pembe Desenli Midi Kloş Etek

Fiyat: ₺799,00

Pembe Desenli Midi Kloş Etek


Kahverengi Pileli Midi Kloş Etek

Fiyat: ₺579,00

Kahverengi Pileli Midi Kloş Etek


Nar Çiçeği Desenli Midi Kloş Etek

Fiyat: ₺799,00

Nar Çiçeği Desenli Midi Kloş Etek


Mavi Jean Tulum

Fiyat: ₺659,00

Mavi Jean Tulum


© 2024 Arif Akyüz. Tüm Hakları Saklıdır. Gizlilik politikası
Yasal Uyarı: Bu sitede yer alan makaleler bilgi amaçlıdır ve hatalar içerebilir. Site sahibi, bu bilgilerin kullanımı sonucunda oluşabilecek zararlardan sorumlu tutulamaz.