سیستم جمعآوری داده با استفاده از Google Maps API و Scrapy
در تهران
در وبسایت کارلنسر(2 هفته پیش)
دورکاری
اطلاعات شغل:
امکان دورکاری و کار در منزل: دارد
نوع همکاری: پروژهای
مهارتهای مورد نیاز:
برنامه نویسی
api
استخراج داده
کد نویسی
اسکرپینگ
web scraping
data scraping
پایتون
python
بازه حقوق:از 400,000 تا 1,000,000 تومان
نحوه پرداخت:پروژهای
متن کامل آگهی:
این پروژه با هدف جمعآوری دادههای مرتبط با فعالیتها، کلاسها، و رویدادهای مناسب کودکان از API گوگل مپ و با استفاده از کتابخانه Scrapy در پایتون و با رعایت ساختار استاندارد پروژههای Scrapy طراحی شده است.
-------------------------------------------------------------------------------------------------------------------------
هدف این پروژه، استخراج اطلاعات مربوط به فعالیتهای مختلف کودکان از Google Maps API است. دادهها باید به صورت ساختاریافته جمعآوری و در دیتابیس ذخیره شوند تا بتوان در بازههای زمانی مختلف و بهروز، اطلاعات جدید فعالیتها و کلاسها را دریافت کرد.
سیستم باید دو فهرست به عنوان ورودی بپذیرد:
کلمات کلیدی: شامل عباراتی که نوع فعالیتها یا کلاسهای مرتبط با کودکان را توصیف میکند (برای مثال، “کلاسهای رقص کودکان”، “کلاس پیانو کودکان”).
مکانها: لیستی از مکانهای جغرافیایی یا شهرها که جستجو باید در آنها انجام شود.
جمعآوری دادهها
برای هر ترکیب از کلمه کلیدی و مکان، سیستم باید به Google Maps API درخواست ارسال کند و دادههای مکانهای مرتبط را جمعآوری کند. این دادهها شامل موارد زیر هستند:
نام مکان یا کلاس
توضیحات (در صورت موجود بودن)
آدرس کامل
موقعیت جغرافیایی (عرض و طول جغرافیایی)
رتبهبندی (در صورت موجود بودن)
شناسه مکان در گوگل (Google Place ID) برای ارجاعهای بعدی
شماره تلفن (در صورت موجود بودن)
لینک وبسایت (در صورت موجود بودن)
نوع مکان (مانند پارک، موزه، باشگاه ورزشی و غیره)
ساعتهای کاری (در صورت موجود بودن)
عکسها (URL یا لینک به عکسهای مرتبط، در صورت موجود بودن)
نظرات کاربران
سایر اطلاعات مرتبط (در صورت وجود، به صورت جیسون در فیلدی به فرمت key:value ذخیره شود)
نکته: اگر هر یک از فیلدهای فوق برای یک فعالیت موجود نباشد، فیلد مربوطه در خروجی خالی باشد و رکورد حذف نشود. این کار به حفظ کامل اطلاعات کمک میکند.
ساختار پروژه
Spider:
مسئول استخراج اطلاعات اولیه.
استفاده از Google Maps API برای یافتن کلاسها بر اساس ترکیب کلمه کلیدی و مکان.
Item Pipeline:
پردازش دادههای استخراجشده توسط Spider.
پاکسازی دادهها (مانند حذف کاراکترهای اضافی).
اعتبارسنجی دادهها (مانند بررسی نوع داده و قالب).
ذخیرهسازی دادهها در قالب ساختار یافته برای وارد کردن در دیتابیس.
Data Model:
تعریف مدلهای دادهای با استفاده از scrapy.Item برای مشخص کردن ساختار دادههای استخراجشده و فیلدهای مورد نیاز.
ویژگیهای پروژه
مدیریت محدودیت نرخ درخواست (Rate Limiting): برای جلوگیری از مسدود شدن توسط Google Maps API، نرخ درخواستها باید به صورت مناسبی مدیریت شود.
مدیریت خطاها: برای جلوگیری از وقفه در فرآیند جمعآوری دادهها، مدیریت خطاهای محتمل بهگونهای انجام شود که اجرای پروژه ادامه یابد.
تحویل پروژه
کد منبع کامل پروژه Scrapy با ساختار استاندارد، شامل:
Spider: برای ارسال درخواستها به Google Maps API.
Pipeline: برای پردازش و ذخیرهسازی دادهها.
مدلهای داده: برای مشخص کردن فیلدهای مورد نیاز.
فایل requirements.txt: حاوی لیست کتابخانههای مورد نیاز برای اجرای پروژه.
مستندات کامل: شامل توضیح نحوه اجرای اسپایدر و استفاده از دادهها.
مهارتهای مورد نیاز
تسلط بر زبان برنامهنویسی پایتون.
تجربه کار با کتابخانه Scrapy و آشنایی با ساختار استاندارد پروژههای Scrapy.
آشنایی با API ها و روشهای کار با آنها.
توانایی حل مسئله و مدیریت خطاها.
اطلاعات اضافی
نمونه کارهای قبلی: لطفاً نمونه کارهای قبلی خود در زمینه وب اسکرپینگ با استفاده از Scrapy را ارائه دهید.
کلید API: کلید Google Maps API از طرف کارفرما تهیه میشود تا دسترسی به API برای جمعآوری دادهها فراهم شود.
نکات مهم:
محدودیتهای API: این پروژه نیازمند رعایت قوانین و محدودیتهای API گوگل مپ است. تعداد و سرعت درخواستها باید مدیریت شود تا از محدودیتهای API عبور نکنند.
هدف پروژه: اطلاعات جمعآوریشده فقط برای مقاصد تحقیقاتی و غیر تجاری استفاده خواهد شد.
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.