به عنوان یک متخصص سامانههای تحلیلگر یا برنامهنویسی که با ابزارهای تحلیلی سروکار دارید، ایدهآلترین حالت برای شما وقتی است که همه اطلاعات به شکل دقیق و در قالب یک فرمت باز و مستندسازی شده در اختیار شما قرار داشته باشد. در این حالت به سادگی میتوانید در هر حوزهای دادههای موردنیاز خود را به دست آورده و متناسب با هدف کاری خود از آنها استفاده کنید.
اما به ندرت زمانی پیش میآید که بتوانید دادهها را به شکل طبقهبندی شده و به دور از هرگونه ناخالصی دریافت کنید. در اغلب موارد نه تنها با دادههای تاریخ مصرف گذشته روبرو هستید، بلکه اطلاعاتی که به آنها نیاز دارید درون یک سایت قرار دارند. در حالی که اکثر سایتها تلاش میکنند، دادههایی شفاف و با فرمتی ساختیافته را ارائه کنند، اما سایتهای دیگر اینگونه عمل نمیکنند. در چنین شرایطی برای جمعآوری اطلاعات از وب باید خود فرآیند استخراج را انجام دهید.
خزیدن در وب چیست؟
یک تحلیلگر دادهها یا برنامهنویس دادهها با واژگانی همچون Crawling، Scraping، Processing و cleaning data آشنا است. این واژگان که به خزیدن، خراش دادن، پردازش کردن و شفافسازی دادهها اشاره دارند، ارکان اصلی ساختیافتگی دادهها را شکل میدهند. سایتهایی که اطلاعات خود را در یک فرمت ساختیافته به شما نشان میدهند بر مبنای این قاعده رفتار میکنند. به عنوان یک برنامهنویس پایتون دیر یا زود مجبور خواهید شد فرآیند خزش و خراش دادهها را بر اساس پروژهای که در حال کار روی آن هستید آغاز کنید. اما اینکار را چگونه انجام میدهید؟ پیش از انجام اینکار باید به نکته مهم توجه داشته باشید. باید مراقب باشید در این زمینه دوبارهکاری انجام ندهید و شخص دیگری همین کار را انجام نداده باشد. همچنین باید به مبحث کپیرایت نیز دقت کنید. پیشنهاد ما این است که پیش از انجام اینکار با مدیران سایتها تعاملی برقرار کنید. همچنین از فایل robots.txt که از سوی سایتهای استفاده میشود غافل نشوید. برای جمعآوری و استخراج دادهها میتوانید خود دست به کار شده و کدنویسی را آغاز کنید که البته با دردسرهای مختلفی همراه است یا از ابزارهای قدرتمندی که ویژه پایتون نوشته شدهاند و در زمینه استخراج دادهها و تجزیه دادهها به شما کمک میکنند، استفاده کنید.
Psyspider
Pyspider یک خزنده وب است که از یک رابط کاربری وبمحور استفاده کرده و به سادگی میتواند تحلیلها و خزشهای چندگانه را انجام دهد. این ابزار ضمن آنکه سرعت بسیار بالایی در استخراج دادهها دارد، انعطافپذیر است از سوی بانکهای اطلاعاتی چندگانه back-end و همچنین صفهای پیامها پشتیبانی میشود. از قابلیتهای این ابزار به اولویتبندی برای تلاش مجدد برای استخراج اطلاعات از صفحاتی که با شکست روبرو شدهاند، خزیدن در صفحات بر مبنای عمر صفحه و.... اشاره کرد. ابزار فوق در هر دو نسخه 2 و 3 پایتون قابل استفاده است. این ابزار به شما اجازه میدهد از طریق بهکارگیری چند ابزار خزنده در یک فرمت توزیع شده به شکل همزمان سرعت کار خود را افزایش دهید. مستندات متعددی برای کار با این ابزار در اختیار شما قرار دارد.
MechanicalSoup
MechanicalSoup یک کتابخانه استخراج اطلاعات است که بر مبنای کتابخانه محبوب Beautiful Soup که در زمینه پردازش ترکیب نحوی اچتیامال مورد استفاده قرار میگیرد نوشته شده است. اگر به دنبال جمعآوری دادههای ساده هستید و تمایل دارید اطلاعات جعبههای متنی یا ورودیهای متنی را دریافت کنید و تمایل ندارید برای انجام اینکار خزنده خود را طراحی کنید، این ابزار گزینه خوبی است. مثالهای متعددی برای کار با این ابزار در اختیار شما قرار دارد. برای اطلاعات بیشتر به فایل example.py مراجعه کنید.
Scrapy
Scrapy یک چهارچوب استخراج دادهها است که از سوی جامعه فعال توسعهدهندگان پشتیبانی میشود. از طریق چهارچوب فوق قادر هستید ابزار استخراج اطلاعات موردنیاز خود را طراحی کنید. این چهارچوب ضمن آنکه فرآیند جمعآوری و تحلیل دادهها را انجام میدهد، فرآیند ارسال دادههایی که جمعآوری کرده را ساده کرده و آنها را در قالبهایی شبیه به JSON یا CSV ارسال میکند. همچنین بنا به انتخاب شما میتواند دادهها را در بانکاطلاعاتی که مشخص کردهاید ذخیرهسازی کند. مدیریت کوکیها، محدود کردن فرآیند استخراج عمیق و... از دیگر قابلیتهای آن به شمار میرود. برای اطلاعات بیشتر به مستندات آنلاین این ابزار مراجعه کنید.
Cola
Cola خود را یک چهارچوب استخراج توزیع شده سطح بالا توصیف کرده که برای برنامهنویسانی که از پایتون 2 استفاده میکنند مناسب است.
Deniurge
Deniurge در پایتون 2 و3 قابل استفاده بوده و یکی دیگر از کاندیداهای بالقوهای است که در اختیار شما قرار دارد.
Feddparser
اگر در نظر دارید اطلاعاتی که تجزیه کردهاید را در فیدهای RSS یا Atom ذخیرهسازی کنید، Feddparser به شما کمک میکند.
Lassie
Lassie به شما کمک میکند تا محتوای اصلی همچون توضیحات، کلیدواژهها یا فهرستی از تصاویر مورد استفاده در یک سایت را استخراج کنید.
RoboBrowser
RoboBrowser یک کتابخانه ساده است که برای کنترل یکسری کارهای اصلی همچون کلیک شدن دکمهها یا پر شدن فرمهای یک سایت به شما کمک میکند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟