در دنیای امروز دادههای زیادی در سطح وب وجود دارند که میتونه به تحلیلهای ما کمک کنه یا به عنوان ورودی برای تمرین دادن به الگوریتمهای یادگیری ماشین استفاده بشه.
یکی از راههای دریافت دادهها استفاده از کراولر یا خزنده برای جست و جو در وبسایتها و تجزیه محتوای اونها مطابق نیاز ما است.
من برای یک پروژه پردازش متن نیاز به دریافت محتویات خبرهای چند خبرگزاری داشتم. برای اینکار از فریمورک Scrapy در زبان پایتون استفاده کردم. این فریمورک به شما این امکان رو میده که:
برای استفاده از فریمورک Scrapy بعد از ساخت یک Virutal enviroment برای محیط توسعه خودتون با استفاده از دستور زیر اون رو نصب کنید:
pip install scrapy ipython
نصب ipython به شما کمک میکنه در زمان استفاده از شل (shell) در فریمورک Scrapy محیط مناسبتری در اختیار داشته باشید.
بعد از نصب Scrapy به راحتی میتونید با استفاده از دستورهای زیر پروژه و عنکبوت(spider) خودتون رو بسازید و سریع وارد مرحله تجزیه وبسایت بشید:
scrapy startproject tutorial cd tutorial # برای ورود به پروژه scrapy genspider mydomain mydomain.com # نام عنکبوت و دامنهای که مایل به خزیدن در آن هستید.
بعد از این مرحله میتونید. فایل عنکبوت خودتون رو باز کنید و مطابق نیاز خودتون اون رو ویرایش کنید.
در ویدیوی زیر یک کراولر برای خبرگزاری عصرایران مینویسیم و عنوان خبر، زیرعنوان خبر و متن خبر را در یک فایل json ذخیره میکنیم.
در این ویدیو علاوه بر Scrapy از افزونه selectorGadget که برای مرورگرهای بر پایه کرومیوم موجود است استفاده کردم.
اگر این آموزش برای شما جالب بود با دنبال کردن من در Youtube و ویرگول برای ادامه اینکار حمایت کنید.
و اگر سوالی در مورد این آموزش داشتید میتونید در کامنتهای این پست یا ویدیو از من بپرسید یا از طریق @mghodsizadeh در توییتر با من در ارتباط باشید.
یکی از روشهای تجزیه وب استفاده از ابزارهایی مثل pandas، requests و beautifulsoup است، من در پروژه بورس تهران در پایتون از این ابزارها استفاده کردم شاید مطالعه این متن و کدهای پروژه برای شما جالب باشه.