BamBot، خزندهی بام
BamBot برنامهای است که آگهیهای عمومی ملک را از سایتهای آگهی میخواند تا در بام کنار هم، روی یک نقشه و با قیمت متری محله دیده شوند. بام واسطه نیست: برای تماس، کاربر را به همان آگهی در سایت اصلی میفرستد.
شناسهی ربات
همهی درخواستهای BamBot همین User-Agent را دارند و آن را عوض نمیکنند:
BamBot/1.0 (+https://tboom.ir/bot)BamBot خودش را جای مرورگر جا نمیزند، از پراکسی یا نشانیهای IP چرخشی استفاده نمیکند، وارد هیچ حساب کاربری نمیشود و کپچا را دور نمیزند.
چه چیزی جمع میکند
- متن عمومی آگهی: عنوان، توضیحات، نوع معامله و نوع ملک، و نام دفتر املاکی که خود سایت بهطور عمومی نشان میدهد
- قیمت: قیمت فروش، یا ودیعه و اجارهی ماهانه
- متراژ و مشخصات ملک: تعداد خواب، سال ساخت، طبقه و امکاناتی مثل پارکینگ و آسانسور
- موقعیت: شهر، محله و مختصاتی که خود سایت منتشر کرده است
- نشانی عکسها؛ خود عکسها روی سرور بام کپی یا بازنشر نمیشوند
- نشانی آگهی اصلی، تا کاربر برای تماس به همانجا برود
چه چیزی را هرگز جمع نمیکند
- شمارهی تلفن و هر راه تماس دیگر؛ اگر شمارهای در متن آگهی نوشته شده باشد، پیش از ذخیره پاک میشود
- نام اشخاص: نام آگهیدهنده، مالک یا مشاور ذخیره نمیشود و «آقای …» یا «خانم …» در متن به همان عنوان کوتاه میشود
- هر صفحهای که برای دیدنش باید وارد حساب شد
رعایت robots.txt و سرعت
- پیش از خزیدن هر میزبان، فایل robots.txt آن را میخواند (طبق RFC 9309، با پشتیبانی از * و $) و هر ۶ ساعت دوباره میخواند. اگر robots.txt در دسترس نباشد یا خطای سرور بدهد، آن میزبان را نمیخزد.
- Crawl-delay را رعایت میکند.
- برای هر میزبان سقف سرعت دارد: حداکثر ۲ تا ۳ درخواست در ثانیه، برای همهی بخشهای ربات روی هم.
- با پاسخ 429 سرعتش را نصف میکند، Retry-After را رعایت میکند و پس از چند پاسخ ردِ پیاپی، خزیدن آن میزبان را از یک تا شصت دقیقه متوقف میکند.
BamBot را از سایت خود دور کنید
این دو خط را به robots.txt سایتتان اضافه کنید تا BamBot هیچ صفحهای از آن را نخواند:
User-agent: BamBot
Disallow: /یا فقط بخشی از سایت را ببندید، یا با Crawl-delay سرعتش را کم کنید:
User-agent: BamBot
Disallow: /private/
Crawl-delay: 10تغییر حداکثر ظرف ۶ ساعت، یعنی در بازخوانی بعدی robots.txt، اعمال میشود. آگهیهایی که از آن به بعد دیگر خوانده نشوند، پس از چند هفته از بام کنار میروند.
BamBot, Bām's crawler (English)
BamBot reads public real-estate listings on Iranian classifieds sites so that Bām can show them side by side on one map with neighbourhood prices. Bām is not a broker: to contact a seller, visitors are sent to the original listing.
Every request carries the same User-Agent:
BamBot/1.0 (+https://tboom.ir/bot)- Collects only: public listing text (title, description, deal and property type, and the agency name a site shows publicly), price (sale price, or deposit and monthly rent), floor area and property details, location (city, neighbourhood and the coordinates the site publishes), image URLs (images are not copied or re-hosted), and the listing URL.
- Never collects phone numbers or other contact details (numbers written into listing text are removed before storage), personal names, or anything behind a login.
- Obeys robots.txt (RFC 9309 matching, re-read every 6 hours; an unreachable robots.txt or a server error means the host is not crawled) and honours Crawl-delay.
- Rate-limited per host to at most 2–3 requests per second across all of its workers; it halves its rate on HTTP 429, honours Retry-After and pauses a host for 1–60 minutes after repeated refusals. No proxies, no rotating IPs or user agents, no login, no captcha solving.
To exclude BamBot from your site, add this to your robots.txt; it takes effect within 6 hours:
User-agent: BamBot
Disallow: /