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

این صفحه، حاوی داده‌های خام قابل استفاده برای کارهای پژوهشی محسوب می‌شود. اما، مساله این است که داده‌ها در صفحه وبی هستند که رابط برنامه‌نویسی کاربردی (API) برای گردآوری آن‌ها وجود ندارد. لذا باید بالغ بر ۳۰ دقیقه زمان برای نوشتن اسکریپت جمع‌آوری داده‌ها صرف کرد. نوشتن اسکریپت مناسب برای این کار سخت نیست اما به نوعی اتلاف وقت محسوب می‌شود، زیرا می‌توان این زمان را به کار دیگری اختصاص داد. البته تجربه نشان داده کار نوشتن کدهایی که قرار است طی سی دقیقه کامل شوند، حداقل دو ساعت به طول می‌انجامد.

خوشبختانه، یک راهکار بسیار ساده‌تر نیز برای این مساله وجود دارد. کتابخانه Pandas پایتون دارای یک راهکار توکار به نام ()read_html برای گردآوری داده‌های جدولی از یک صفحه html است.

بهره‌گیری از این راهکار بسیار ساده است. Pandas هر جدول html قابل توجهی که در صفحه وب وجود داشته باشد را به‌عنوان یک شی DataFrame جدید شناسایی می‌کند. به منظور ارتقا کد بالا به یک برنامه قابل استفاده برای مسائل واقعی، اصلاحاتی در آن انجام می‌شود. ابتدا، سطر صفر جدول به عنوان سطر حاوی header جدول‌ها معرفی و درخواست تبدیل داده‌های مبتنی بر متن به time object‌‌ها، داده می‌شود.

خروجی کد بالا به صورت زیر است:

شیوه قرارگیری داده‌ها در DataFrame و در واقع قالب آن‌ها اغلب برای کاربر مهم است. فرمت فایل json برای انجام کارهای گوناگون طرفداران زیادی دارد و لذا احتمال آن‌که تمایل به دریافت خروجی به صورت رکوردهای json وجود داشته باشد زیاد است. خبر خوب اینکه تنها با اضافه کردن یک خط کد دیگر می‌توان خروجی را به صورت json دریافت کرد.

با اجرای خط کد بالا می‌توان خروجی خیلی خوب زیر را دریافت کرد (که حتی با قالب‌بندی تاریخ ISO 8601 ارائه شده است). با استفاده از Pandas حتی می‌توان داده‌ها را مستقیما به‌صورت CSV و XLS نیز ذخیره کرد. کد لازم برای انجام این کار را در ادامه مشاهده می‌کنید.

پس از اجرای قطعه کد بالا و باز کردن فایل calls.csv، شاهد خروجی به شکل زیر خواهید بود:

Pandas، فرآیند فیلتر کردن و مرتب‌سازی داده‌ها را نیز ساده‌تر می‌کند.

اگر مطلب بالا برای شما مفید بود، آموزش‌های زیر نیز به شما پیشنهاد می‌شود:

^^

الهام حصارکی (+)

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

بر اساس رای 5 نفر

آیا این مطلب برای شما مفید بود؟

4 نظر در “پایتون و گردآوری داده‌های وب با استفاده از آن

    1. درود

      وقت شما به خیر

      ظاهرا سایت منبع در حال انجام تغییراتی است و به همین دلیل محتوای صفحه مذکور را به درستی نمایش نمی‌دهد. این مساله در صفحه‌ای که لینک به آن ارجاع داده می‌شود، بیان شده است. لینک در زمان درج مطلب صحیح بوده است. پیشنهاد می‌شود با مراجعه به web archive، از نسخه قدیمی‌تر و صحیح صفحه استفاده کنید.

      از همراهی شما و ارائه بازخورد، بسیار سپاس‌گزارم

    1. درود

      وقت به خیر

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

      بسیار سپاس‌گزارم

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *