- مهرداد حیدری
- 12 اردیبهشت, 1401
- 3 Comments
- 18 Secs Read
آموزش selenium در پایتون
در آموزش selenium در پایتون میخواهیم جادو یاد بگیریم یعنی چیو قراره جادو کنیم؟ قراره سایتها رو جادو کنیم تا بتونیم از داخلش مطالب و دادههای مورد نیازمون رو بطور خودکار استخراج کنیم؟ باور نمیکنی؟ قطعا باور کردنی نیست ولی با لرن پایتون شدنیه بزن بریم.
کتابخانه selenium یکی از قدرتمندترین کتابخانههای وب اسکرپینگ میباشد در مقالات قبلی راجع به وب اسکرپینگ و کتابخانه httprequests و BeautifulSoap بسیار صحبت کردیم و یاد گرفتیم که چطور از سایتها درخواست ارسال کنیم و با نحوه استخراج دادهها آشنا شدیم حالا نوبت به استخراج خودکار داده از وب سایتها میرسه…بله جناب selenium یک کتابخانه بسیار محبوب برای علاقهمندان به دنیای وب و پایتون هست. حالا بریم ببینیم آموزش selenium در پایتون چیه؟ چطور باهاش کار کنیم؟ درواقع چطور سایتها را جادو کنیم.
معرفی selenium به دوستدارانش:
در آموزش selenium در پایتون طبق موارد گفته شده کتابخانه selenium یکی از کتابخانههای وب اسکرپینگ میباشد برای استخراج داده از سایتها بصورت اتوماتیک بطوریکه شما فقط نظارهگر هستید همه کارارو بسپارید بهش تا براتون اون چیزیو که میخواهید نشون بده خیلی بچه خوب و حرف گوش کنی هست که با کارائیش غوغایی به پا میکند.
سلنیوم کل ظاهر و باطنش کامل مشخص هست شما فقط بگو چی میخوای تا آماده تحویل بگیری.
با این کتابخونه میتونید مرورگرهای مختلف رو باز کنید به المنتهایش دسترسی داشته باشید و در کل اکثر کارهایی که یه آدم پشت مرورگر میتونه انجام بده رو میتونید بصورت خودکار انجام بدید.
یعنی یک صفحه مرورگر باز میشود(کروم، فایرفاکس و…)، آدرسی که شما دادید رو سرچ میکنه و کاری که بهش گفتید رو براتون انجام میده. شما همه این کارها رو به چشم میبینید تا اگر اشتباهی پیش اومده بود، سریع متوجه بشید.
آموزش selenium:
در این بخش آموزش selenium در پایتون میخواهیم کتابخانه سلنیوم را نصب کنیم. همانند مقالات قبلی اولین قدم برای شروع نصب کتابخانه است
برای نصب کتابخانه selenium از ابزار pip استفاده میکنیم. وارد cmd یا terminal میشویم و دستور زیر را وارد میکنیم:
خب دوست عزیز کتابخانه نصب شد و ایمپورت میکنیم تا مطمئن شویم عملیات نصب کامل انجام شده سپس میریم سراغ قدم دوم.
در آموزش selenium در پایتون برای برقراری ارتباط سلنیوم با مرورگر نیاز به یک درایور(این مرورگرها به ما اجازه سرچ میدهند) داریم که به آن webdriver میگویند. در اصل selenium یک ماژولی است که از طریق درایور به مرورگر ما وصل میشود. یواش یواش داریم با عملیات جادوئیش آشنا میشیما.
یکی از کارهایی که میشه کرد میتوانیم ربات اینستاگرام بسازیم که بره پست ها رو لایک کنه یا هر کاری ما ازش بخواهیم انجام بده حتی میتونه پست عکس بزاره خیلی جالبه نه؟داره خیلی شیرین میشه موضوع بی وقفه بریم سر اصل مطلب.
به سایت (selenium-python.readthedocs.io) مراجعه کرده و در قسمت Drivers براساس نسخه مرورگر خود webdriver مورد نظر را دانلود کنید باید حتما وب درایور با نسخه مرورگرتون مطابقت داشته باشد. در اینجا ما از درایور مرورگر فایرفاکس استفاده میکنیم به نام geckodriver است. وقتی دانلود تمام شد به شما یک فایل زیپ میدهد که فایل را باید در مسیر فایل سلنیوم Etract کنید یا در داخل محیط مجازی که برای سلنیوم ایجاد کردید کپی کنید که در مباحث پایین به عنوان زنگ تفریح در مورد محیط مجازی توضیح خواهیم داد.
فقط ناگفته نماند که کسانی که از درایور مرورگر کروم میخواهند استفاده کنند حتما فیلتر شکن داشته باشند وگرنه کار نمیکنه اینم گفتیم بگیم که یه وقت لرن پایتونی های عزیز گیر نکنند.
خب الان driver با کتابخونه مچ شد. بریم سراغ فراخوانی درایورها :
ایجاد محیط مجازی:
در آموزش selenium در پایتون یه زنگ تفریح بریم، برای اینکه ما بتونیم یک محیطی داشته باشیم تا تمام برنامه ها رو داخلش بزاریم و فقط محدود به آن محیط باشد تا حافظه سیستم کمتر اشغال شود بهتر است یعنی پیشنهاد میدهیم یک محیط مجازی داشته باشید و کتابخانه های مورد نیاز خود را داخل آن نصب کنید که برای اجرای برنامه بهتر باشد.
برای ایجاد محیط مجازی در cmd ویندوز عبارت زیر را تایپ کنید:
سپس وقتی محیط ایجاد شد باید محیط مجازی را فعال کنیم بصورت زیر:
خب محیط مجازی فعال شد شما الان داخل محیط هستید میتوانید در اینجا سلنیوم را نصب کنید و ادامه کار را در این محیط پیش ببرید.
تا حدودی مقدمات کار انجام شد حالا نوبتش رسیده که چمدوناتونو ببندید و راهی سفر بشیم فقط قبل سفر در مورد مسیر یکم حرف بزنیم که قراره تو این سفر به کجاها بریم بعد آماده حرکت بشیم.
کارهایی که قراره انجام بدیم:
• وارد سایت گوگل می شویم.
• کلمه python را سرچ میکنیم
• در نتایج سرچ تمای آدرس های صفحه اول گوگل که مربوط به python میشوند را استخراج میکنیم.
شما این کارها را میتوانید در هر سایتی نسبت به نیاز خود انجام دهید مثلا میخواهید گوشی موبایل خرید کنید به سایت دیجی کالا می روید و تمامی گوشی ها با قیمت را استخراج میکنید بجای اینکه تک به تک به سایتهای گوشیها مراجعه کنید تنها با یک کلیک میتوانید اطلاعات مورد نیاز خود را استخراج کنید به این میگن جادوی selenium.
خب بریم که شروع کنیم کد زیر مربوط به کارهای گفته شده در بالا هست که سطر به سطر توضیح خواهیم داد.
1-از کتابخانه سلنیوم webdriver را فراخوانی میکنیم.
2- زمانی که در صفحات نیاز به کلیک داشتیم باید این ماژول را ایمپورت کنیم که در خط 13 بجای اینکه ما از کیبور Enter را فشار دهیم خودش اتوماتیک این کار را انجام میدهد.
3- ایمپورت زمان برای یه توقف کوتاه در سایت یه نوع استراحت
5- مسیر فایل وب درایوری که دانلود کردیم و داخل محیط مجازی قرار دادیم را داخل متغیر executable_path قرار میدهیم.
7- خب الان وقتش رسیده که با مرورگر فایرفاکس و مسیر قبلی کار و شروع کنیم. فقط دقت داشته باشید که فایرفاکس با حرف بزرگ نوشته شود.Firefox
8- سایت مورد نظر خود را ارسال میکنیم.
9- یک sleep 4 ثانیه ای میزاریم
خب به صفحه زیر رسیدیم … سلام google
11- در این مرحله با زدن دکه f12 از کیبورد وارد کد html صفحه گوگل خان میشویم طبق کارهایی که قبلا مشخص کردیم میخواهیم کلمه python را سرچ کنیم ابتدا بعد از زدن f12 در پنجره باز شده در گوشه بالا سمت چپ یه فلش کوچک هست آن را کلیک میکنیم تا در صفحه گوگل مشخص کنیم که کدام قسمت مد نظر ماست تا element آن قسمت را تشخیص دهیم که با id=”input” میتوانیم کادر جستجو را جدا کنیم بصورت زیر با المنتهای زیادی میتوانیم کار جداسازی را انجام دهیم که هر کدام نسبت به تگ موردنظر استفاده شده در html کاربرد دارد.
12- مشخص می کنیم که چه کلمه ای در کادر جستجو سرچ شود.
13- با زدن Enter به نتایج گوگل خان برود.
به این ترتیب در صفحه باز شده طبق موارد گفته شده بالا دوباره از inspect انتخاب کد html مربوطه سپس پیدا کردن المنت مورد نظر و سرچ تا داده ها براساس نیاز ما استخراج شود.
ذخیره داده ها:
در آموزش سلنیوم در پایتون برای ذخیره دادهها می توانیم همانند روش گفته شده در مقاله BeatifulSoap با استفاده از کتابخانه pandas عملیات ذخیره سازی را انجام دهیم تا داده ها بصورت یک فایل در دسترس ما قرار بگیرد.
امینی
سلام. خیلی اراجیف گفتی. یه جیزی بگو عملی باشه.pip install selenium باید کجا بنویسیم؟؟!!!!
مهرداد حیدری
دوست عزیز شما در یک وبسایت آموزشی در حال مطالعه هستین پس بهتره اول بر روی ادبیات و لحن کلامی خود کار کنید .همانطور که گفته شده در مقاله :برای نصب کتابخانه selenium از ابزار pip استفاده میکنیم. وارد cmd یا terminal میشویم.
بعد از اون این مقاله برای استفاده از دوستانی است که دانش پایتون دارند نه کسی که هنوز نمیداند ترمینال چیست .ندانستن عیب نیست اصرار به ندانستن عیب بزرگی است.به شما پیشنهاد میدهیم در دوره جامع وب اسکرپینگ ثبت نام کنید تا اصولی وب اسکرپینگ را فرا بگیرید ضمن اینکه راه های ورود و به بازارکار وب اسکرپینگ و خدمات و نمونه کار هم به شما آموزش داده شده است .موفق باشید
محسن
سلام خدمت شما من فریمورک سلنیوم رو برای ورژن ۳.۱۰.۶ پایتون نصب کردم بعد که نسخه ۳.۱۱ رو نصب کردم دیگه فریمورک سلنیوم روش جواب نمیده من خودم احتمال میدم که باید یه درایور متناسب با اون نسخه رو نصب کنم حالا نمیدونم درست باشه یا نه بعد اینکه ورژن فریمورک سلنیوم آخرین ورژن نصب هست رو سیستمم حالا میشه منو یه راهنمایی کنم که سلنیوم من هم برا نسخه ۳.۱۱ جواب بده اگه دقیق راهنمایی کنید ممنون میشم با تشکر از شما