استخراج اطلاعات از صفحات وب با python

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

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

در ادامه نحوه استخراج اطلاعات از صفحات وب با استفاده از کتابخانه Beautiful، که یک کتابخانه تخصصی برای پردازش ساختار صفحات وب است، با یک مثال معرفی می کنم. در این مثال نحوه استخرا شاخص های اقتصادی مانند شاخص بورس، دلار و... از صفحه سایت http://www.tgju.org بیان کنم. امیدوارم این مطلب مفید واقع بشود.

برنامه پایتون برای دریافت شاخص های بورس و ... از صفحه وب
برنامه پایتون برای دریافت شاخص های بورس و ... از صفحه وب

در خط ۳ کتابخانه ‌Beautiful را به برنامه ایمپورت می کنیم. برای نصب این برنامه در خط فرمان می توانید از دستور apt-get install python-bs4 استفاده کنید. البته برای نصب بر روی سیستم عامل های دیگر می توانید به آدرس سایت که در منبع آمده است مراجعه کنید

خط ۵- کتابخانه لازم برای ارسال و دریافت درخواست های وب به برنامه ایمپورت می شود.

خط ۸ - آدرس سایت به تابع urlopen ارسال می شود پس از دریافت صفحه نتیجه در متغییر html_page ذخیره می شود.

خط ۱۱- ساختار صفحه وب استخراج شده در متغیر soup قرار می گیرد.

خط ۱۴ - با استفاده از تابع find تگ های ul با کلاس info-bar جستجو شده نتیجه در متغیر infoBarTag قرار می گیرد.

خط ۱۷ - ۱۹ تک تک فرزندان تگ بالا مرور شده و محتوی آنها که همان شاخص های تابلو بورس است در خروجی چاپ می شود.

منبع:

امیدوارم این مطلب بتوان سودمند باشد. برای آشنایی بیشتر و شناخت کاملتر کتابخانه Beautiful Soup به آدرس سایت زیر می توانید مراجعه کنید:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/