این پروژه یک کراولر غیررسمی برای وبسایت rrk.ir (سامانه روزنامه رسمی) است که با استفاده از Session واقعی APEX، آگهیها را بهصورت ساختیافته استخراج میکند.
پروژه بهصورت مرحلهای طراحی شده تا:
- اطلاعات فنی APEX (ajax, templates, identifiers) را Capture کند
- لیست آگهیها را بر اساس تاریخ و شهر جمعآوری کند
- جزئیات کامل هر آگهی را بهصورت جداگانه استخراج کند
rrk-crawler/
├── capture_apex.py
├── crawl_list.py
├── crawl_details.py
├── config.py
├── date_utils.py
├── source/
│ ├── apex_config.json
│ ├── btnsearch_items.json
│ ├── ig_pjson_template.json
│ ├── ig_form_template.json
│ ├── storage_state.json
│ └── cities.json
├── out/
│ ├── checkpoint.json
│ ├── list_all.jsonl
│ └── details_all.jsonl
├── README.md
└── .gitignore
1️⃣ python capture_apex.py
خروجیها:
• source/apex_config.json
• source/btnsearch_items.json
• source/ig_pjson_template.json
• source/ig_form_template.json
2️⃣ python crawl_list.py
خروجی:
• out/list_all.jsonl
ویژگیها:
• پشتیبانی از resume با checkpoint
• پردازش همزمان شهرها
• گزارش زمان پردازش هر روز و کل پروژه
3️⃣ python crawl_details.py
خروجی:
• out/details_all.jsonl
ویژگیها:
• خواندن لینکها از list_all.jsonl
• جلوگیری از پردازش تکراری
• اجرای batch و concurrent
• مقاوم در برابر قطع Session
• Python 3.10+
• نصب وابستگیها:
3️⃣ pip install -r requirements.txt
کتابخانههای اصلی:
• httpx
• beautifulsoup4
• lxml
• asyncio
An unofficial crawler for rrk.ir based on Oracle APEX session APIs.
Execution order:
- Capture APEX configuration
- Crawl listings
- Crawl details
For research and data analysis purposes only.