صفحه اصلی > هوش مصنوعی : پایتون و گردآوری داده‌های وب با استفاده از آن

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


۳۵۹ بازدید

آخرین به‌روزرسانی: ۲۸ خرداد ۱۴۰۱

زمان مطالعه: ۲ دقیقه

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

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

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

1import pandas as pd
2
3tables = pd.read_html("https://apps.sandiego.gov/sdfiredispatch/")
4
5print(tables[0])

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

1import pandas as pd
2
3calls_df, = pd.read_html("http://apps.sandiego.gov/sdfiredispatch/", header=0, parse_dates=["Call Date"])
4
5print(calls_df)

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

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

1import pandas as pd
2
3calls_df, = pd.read_html("http://apps.sandiego.gov/sdfiredispatch/", header=0, parse_dates=["Call Date"])
4
5print(calls_df.to_json(orient="records", date_format="iso"))

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

1import pandas as pd
2
3calls_df, = pd.read_html("http://apps.sandiego.gov/sdfiredispatch/", header=0, parse_dates=["Call Date"])
4
5calls_df.to_csv("calls.csv", index=False)

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

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

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

^^

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

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





منبع

پست های مرتبط

 BERT و نسل‌های بعدی مدل‌های زبانی در هوش مصنوعی | آقای وب

در دنیای پرشتاب تکنولوژی و هوش مصنوعی، مدل‌های پیش‌بینی زبانی نقش محوری…

مرز باریک بین واقعیت و خیال: با ۱۰ مدل استخراج‌شده از GANs آشنا شوید! | آقای وب

شبکه‌های عصبی مولد متخاصم (GANs) به‌دلیل ترکیب منحصربه‌فرد از یادگیری عمیق و…

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

آخرین پست ها

1403 © طراحی سایت | سئو | آقای وب