import json import requests from bs4 import BeautifulSoup import base64 import re import os from openpyxl import Workbook, load_workbook from datetime import datetime CATEGORY_TID_MAPPING = { 1: 8, 2: 6, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 3, 11: 3, 12: 6, 13: 4, 14: 6, 15: 6, 16: 2, 17: 6, 18: 6, 19: 6, 20: 6, 21: 7, 22: 6, 23: 6, 24: 6, 25: 6, 26: 6, 27: 9, 28: 6, 29: 1, 30: 6 } SUBCATEGORY_FIELD_MAPPING = { 1: ("field_sanatnew", 13), 2: ("field_khadamatnew", 9), 3: ("field_amlaknew", 15), 4: ("field_otomobilnew", 7), 5: ("field_lavazemnew", 19), 16: ("field_amozeshnew", 7), 21: ("field_bazarkarnew", 3), 27: ("field_ertebatnew", 15), 29: ("field_computernew", 15), } def extract_category_name(soup): link = soup.find("a", href=re.compile(r"^/category/")) return link.text.strip() if link else "" def get_category_id_from_name(name): mapping = { "صنعت": 1, "خدمات": 2, "املاک": 3, "اتومبیل": 4, "لوازم": 5, "مواد اولیه": 6, "بسته بندی": 7, "تجهیزات ساختمانی": 3, "لوازم یدکی": 9, "سوخت و مشتقات نفت": 10, "خدمات ساختمانی": 11, "خدمات صنعتی": 12, "خدمات خودرو": 13, "ایمنی و حفاظت": 14, "مواد شیمیایی": 15, "آموزش": 16, "حمل و نقل": 17, "تجهیزات صنعتی": 18, "خدمات مجالس": 19, "تاسیسات": 20, "بازار کار": 21, "تجهیزات پزشکی": 22, "ضایعات": 23, "آهن و فلزات": 24, "دکوراسیون": 25, "خدمات منزل": 26, "ارتباط": 27, "امور شرکتها": 28, "کامپیوتر": 29, "لوازم خانگی": 30 } return mapping.get(name, 1) def extract_keywords(soup): meta = soup.find("meta", attrs={"name": "keywords"}) if not meta or "content" not in meta.attrs: return [] return [k.strip() for k in meta["content"].split(",") if k.strip()] def extract_clean_body(html): soup = BeautifulSoup(html, "html.parser") p = soup.find("p", attrs={"x-ref": "content"}) if not p: return "بدون شرح" for tag in p.find_all(): if tag.name != "br": tag.unwrap() for br in p.find_all("br"): br.replace_with("\n") text = p.get_text() text = re.sub(r'\n{3,}', '\n\n', text) return "\n".join(line.strip() for line in text.strip().splitlines()) def extract_phones_from_html(html): phone_regex = r'/contact/directcall/\w+/(\d{11})' phones = re.findall(phone_regex, html) return list(set(phones)) def extract_ad_data(url): try: r = requests.get(url) r.raise_for_status() html = r.text soup = BeautifulSoup(html, "html.parser") title = soup.find("h1").get_text(strip=True) if soup.find("h1") else "بدون عنوان" body = extract_clean_body(html) phones = extract_phones_from_html(html) contact = phones[0] if phones else "" whatsapp = phones[1] if len(phones) > 1 else "" name_tag = soup.find("div", class_="pb-3") name = name_tag.get_text(strip=True) if name_tag else "نامشخص" img_b64, filename = None, "" img = soup.find("img", class_="object-cover") if img and img.get("src"): img_url = img["src"] if not img_url.startswith("http"): img_url = "https://www.istgah.com" + img_url img_data = requests.get(img_url, timeout=10).content img_b64 = base64.b64encode(img_data).decode("utf-8") filename = os.path.basename(img_url.split("?")[0]) if not filename or "." not in filename: filename = "default.jpg" cat_id = get_category_id_from_name(extract_category_name(soup)) field_group = CATEGORY_TID_MAPPING.get(cat_id, 8) kws_str = ", ".join(extract_keywords(soup)) kws_str = kws_str[:255] # محدودیت طول کلیدواژه ad_data = { "title": title, "body": body, "field_noeagahi": "1", "field_grouh": field_group, "field_mogheiat": 13, "field_telephone": contact, "field_whatsapp": whatsapp, "field_address": "تهران", "field_naamshakhshya": name, "field_tagsapi2": kws_str, } if img_b64: ad_data["field_aks2"] = img_b64 ad_data["field_aks2_filename"] = filename ad_data["field_aks2_filemime"] = "image/jpeg" if cat_id in SUBCATEGORY_FIELD_MAPPING: fld, tid = SUBCATEGORY_FIELD_MAPPING[cat_id] ad_data[fld] = tid return ad_data except Exception as e: print(f"❌ خطا در پردازش {url}: {e}") return None def send_ad(ad_data): api_url = "https://sabtha.com/apiiau/insert-ad?key=223456" try: resp = requests.post(api_url, json=ad_data) return resp.status_code, resp.text except Exception as e: return 0, str(e) # توابع کمکی فایل‌ها و گزارش (load/save links, report) اگر نیاز دارید اضافه کنید if __name__ == "__main__": # تست نمونه ارسال آگهی test_url = "https://www.istgah.com/detail/..." ad = extract_ad_data(test_url) if ad: status_code, response = send_ad(ad) print(f"Response Code: {status_code}") print(response) موتور سازی سیار ، موتور ساز سیار ، امداد موتور سیکلت ،

خانه > صنعت > خدمات صنعتی > موتور سازی سیار ، موتور ساز سیار ، امداد موتور سیکلت ، تعمیرات موتور سیکلت در محل

موتور سازی سیار ، موتور ساز سیار ، امداد موتور سیکلت ، تعمیرات موتور سیکلت در محل

شماره آگهی : 10850
موتور سازی سیار ، موتور ساز سیار ، امداد موتور سیکلت ، تعمیرات موتور سیکلت در محل
آگهی غیر فعال!
بیشتر...

تعمیر تخصصی انواع موتور سیکلت در محل تمام نقاط تهران سبک سنگین پنچرگیری لاستیک و تعمیرات کلی

خوب است بدانید:

یونس خالص ، از 1586 روز پیش عضو سایت ثبت ها میباشد.


این آگهی را در اولین بار در 11th Mar 2021 ثبت کرده که در مجموع 431 بازدید داشته و در 10th Apr 2021 بروزرسانی شده است.


یونس خالص

عضویت: 1586 روز پیش
تلفن این آگهی منقضی شده بنابراین اطلاعات تماس نمایش داده نمیشود!

ادامه آگهی ها

21
خدمات cncتراش وقطعات پمپ

خدمات cncتراش وقطعات پمپ

صنعت گستر

خدمات قطعات cncتراش از قطر 380طول900 تولید قطعات پمپ اب

358 روز پیش
******
145
فروش رنگ و رزین و قالب سنگ و موزاییک مصنوعی

فروش رنگ و رزین و قالب سنگ و موزاییک مصنوعی

شرکت دیاکو نمایندگی کیمیاصنعت

شرکت فنی مهندسی بازرگانی دیاکو به نمایندگی شرکت کیمیا صنعت تهران در مشهد ب مدیریت خانم رضوانی با ارئه محصولات و دیگر خدمات این شرکت در خدمت کارخانجات و کارگاه های موزاییک سازی بر پایه ی بتن و موزاییک ...

944 روز پیش
******
189
آجرنسوزشاموتی و منیزیتی گرافیتی و کرومیتی و اسپنیلی

آجرنسوزشاموتی و منیزیتی گرافیتی و کرومیتی و اسپنیلی

بالی پور

فروش آجر نسوز شاموتی و منیزیتی و منیزیتی گرافیتی و آلومینی آجرنسوز اسپنیلی و منیزیتی کرومیتی آجرنسوز سیلیسی و زیر کونیومی و جرم های نسوز آmop جرنسوز سیلیمانیتی و فورستریتی و دولومیتی خاک نسوز آجر...

989 روز پیش
******
41
نصب ، راه اندازی ، تعمیر و نگهداری انواع دیزل ژنراتور

نصب ، راه اندازی ، تعمیر و نگهداری انواع دیزل ژنراتور

دیزل ژنراتور عالمی

واردات و فروش انواع دیزل ژنراتور (DIESEL GENERATOR) : دیزل ژنراتور کاتر پیلار CATERPILLAR دیزل ژنراتور ولوو پنتا VOLVO PENTA دیزل ژنراتور پرکینز PERKINS دیزل ژنراتور دویتس DEUTZ دیزل ژنراتور کا...

989 روز پیش
******
خریدار ضایعات پلاستیک و گرانول

خریدار ضایعات پلاستیک و گرانول

آقای مویدی

خریدار ضایعات پلاستیک صنعتی ای بی اس /پلی امید/پلی کربنات/پلی یورتان... بهترین خریدار و فروشنده مواد و ضایعات پلاستیک نو -اسیابی-گرانول-زنده بار - و... بصورت نقدی و بالا ترین قیمت خری...

امروز
09123879100
زبری سنج برند AMITTARI مدل AR-131A

زبری سنج برند AMITTARI مدل AR-131A

پترو فرهان گستر جنوب

دستگاه زبری سنج یا صافی سنج آمیتاری AMITTARI یک دستگاه رافنس گیج سطح ساخت کشور چین میباشد که جهت استفاده در سطوح سندبلاست استفاده میگردد. از مهمترین ویژگی های این زبری سنج سطح طراحی ارگونومی قسمت بال...

امروز
******
چسب ترماسل 99خراش انداز

چسب ترماسل 99خراش انداز

پترو فرهان گستر جنوب

چسب ترماسل 99خراش انداز بعداز ایجاد خراش به موازات بر روی سطح رنگ شده به رنگ چسبیده و با بلند کردن آن و مطابقت آن با استاندارد ها و میزان چسبندگی رنگ در خانه های مشخص شده درصد چسبندگی رنگ سطح مشخص می...

امروز
******
پراب مینیاتوری برند czue

پراب مینیاتوری برند czue

پترو فرهان گستر جنوب

در زوایای45-60-70درجه ابعاد 5 در 5 این پراب مخصوص جوش فورجینگ،میلگرد و به طور کلی مناسب مقاطع و سطوحی که دارای سطح کمی میباشند کاربرد دارد. این نوع پراب ها دارای سوکت ورودی میکرودات نری میباشد که به ...

امروز
******
مولتی متر دیجیتال برند HIOKI مدل DT4281

مولتی متر دیجیتال برند HIOKI مدل DT4281

پترو فرهان گستر جنوب

مولتی متر دیجیتال DT4281 ، دارای طراحی ایمن برای کارهای صنعتی و های ولتاژ می باشد. Hioki DT4281 برای حداکثر ایمنی در کارهای الکتریکی طراحی شده است و برای اندازه گیری ایمن جریان از کلمپ جریان AC پشتیب...

امروز
******
کلمپ آمپرمتر برند CEM مدل CEM DT9381

کلمپ آمپرمتر برند CEM مدل CEM DT9381

پترو فرهان گستر جنوب

,کلمپ آمپر متر 1000 آمپری True RMS سم مدل DT-9381 CEM,محصولی با کیفیت از کمپانی معتبر سم ساخت کشو چین میباشد.آمپرمتر انبری سم تا 1000 آمپر ac/dc را به روش True RMS اندازه گیری میکند.یکی از ابزار های ک...

امروز
******
بلوک های عیوب آموزش VT

بلوک های عیوب آموزش VT

پترو فرهان گستر جنوب

مشخصات فنی تعداد 30 عدد بلوک استیل هر یک دارای یک ناپیوستگی مشخص و معروف کیفیت سطح عالی چاپ زیبا با بسته بندی بسیار مناسب. نمایندگی انحصاری فروش:شرکت پترو فرهان گستر جنوب شرکت پترو فرهان گستر ...

امروز
******
برش تخصصی رول به رول انواع استیل،آلومینیوم،برنج و دیگر فلزات

برش تخصصی رول به رول انواع استیل،آلومینیوم،برنج و دیگر فلزات

فارکو

شرکت FARCO ارائه دهنده خدمات برش رول به رول انواع فلزات با کیفیت عالی،قیمت مناسب،تحویل به موقع برش رول انواع فلزات ،فولادها، استنلس استیل ، آلومینیوم ، مس،برنج ،فلزات رنگی و… تلفن همراه :09362336...

امروز
******