import requests api_url = "https://lavasemkhangi.ir/api/torob/v3/products/" try: response = requests.get(api_url) response.raise_for_status() # Raise an exception for bad status codes (4xx or 5xx) products_data = response.json() print(products_data) # در اینجا میتوانید با دادههای دریافتی محصولات کار کنید # مثلاً آنها را در پایگاه داده خود ذخیره کنید یا به فرمت دیگری تبدیل کنید except requests.exceptions.RequestException as e: print(f"An error occurred: {e}") import requests import xml.etree.ElementTree as ET from xml.dom import minidom import datetime def create_torob_feed(): api_url = "https://lavasemkhangi.ir/api/torob/v3/products/" output_filename = f"torob_feed_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.xml" try: # 1. فراخوانی API print(f"در حال دریافت اطلاعات از API: {api_url}") response = requests.get(api_url) response.raise_for_status() # بررسی خطا در پاسخ API products_data = response.json() print(f"تعداد {len(products_data)} محصول دریافت شد.") # 2. ایجاد ساختار XML پایه برای ترب # این ساختار باید بر اساس مستندات ترب تنظیم شود # مثال زیر یک ساختار فرضی است root = ET.Element("products") # 3. پردازش و تبدیل دادهها for product in products_data: product_element = ET.SubElement(root, "product") # استخراج و تبدیل فیلدهای مورد نیاز - این بخش باید بر اساس ساختار API شما و نیاز ترب تنظیم شود # مثال: فرض کنید API شما 'id', 'title', 'price', 'url', 'image_url', 'description' دارد # شناسه محصول (اگر API شما شناسه منحصر به فردی دارد) if 'id' in product: ET.SubElement(product_element, "id").text = str(product['id']) # نام محصول if 'title' in product: ET.SubElement(product_element, "name").text = product['title'] # قیمت محصول (فرض میکنیم قیمت به ریال است و باید به فرمت عددی باشد) if 'price' in product: try: # حذف هرگونه کاراکتر غیر عددی و تبدیل به عدد صحیح price_str = ''.join(filter(str.isdigit, str(product['price']))) if price_str: ET.SubElement(product_element, "price").text = price_str except Exception as e: print(f"خطا در پردازش قیمت محصول {product.get('id', 'N/A')}: {e}") # میتوانید قیمت را خالی بگذارید یا یک مقدار پیشفرض قرار دهید pass # لینک محصول if 'url' in product: ET.SubElement(product_element, "url").text = product['url'] # لینک تصویر محصول if 'image_url' in product: ET.SubElement(product_element, "image_url").text = product['image_url'] # توضیحات محصول (اختیاری، اما برای سئو مفید است) if 'description' in product: ET.SubElement(product_element, "description").text = product['description'] # در صورت نیاز، فیلدهای دیگر مانند برند، دسته بندی و ... را اضافه کنید # if 'brand' in product: # ET.SubElement(product_element, "brand").text = product['brand'] # 4. تولید فایل XML با فرمت خوانا xml_string = ET.tostring(root, encoding='utf-8') # استفاده از minidom برای فرمتدهی زیباتر XML (indentation) dom = minidom.parseString(xml_string) pretty_xml_as_string = dom.toprettyxml(indent=" ", encoding='utf-8') with open(output_filename, "wb") as f: f.write(pretty_xml_as_string) print(f"فایل فید ترب با موفقیت در مسیر زیر ایجاد شد: {output_filename}") return output_filename except requests.exceptions.RequestException as e: print(f"خطا در دریافت اطلاعات از API: {e}") return None except Exception as e: print(f"خطا در پردازش و تولید فایل XML: {e}") return None # اجرای تابع برای ایجاد فید # create_torob_feed()
شماره سفارش: $order_id
مبلغ: $amount تومان
سفارش شما ثبت شد و در حال پردازش است.
در صورت کسر وجه، مبلغ طی 72 ساعت برگشت میخورد.
🎁 کد تخفیف ویژه اولین خرید: naniwa | ارسال سریع به سراسر کشور 🚀.