مقالاتی در مورد هوش مصنوعی، وب و کسب درآمد آنلاین
اسکریپت جستجوی خودکار گوگل پایتون: خودکارسازی جستجو برای سئو و تحقیق کلمات کلیدی
آیا خسته شدهاید که به صورت دستی در گوگل برای کلمات کلیدی و موضوعات مرتبط با سئو (بهینهسازی موتور جستجو) خود جستجو کنید؟ ربات جستجوی گوگل با پایتون راهحلی ایدهآل برای شماست! این اسکریپت ساده اما کاربردی به شما امکان میدهد تا به صورت خودکار در صفحات نتایج گوگل برای عبارات کلیدی مورد نظرتان جستجو کرده و نتایج را به صورت مرتب در یک فایل خروجی ذخیره کنید.
ساخت ربات جستجوگر گوگل یک تمرین بسیار مناسب برای شروع برنامهنویسی با پایتون است.
این تصویر توسط هوش مصنوعی ساخته شده است. برای اطلاعات بیشتر اینجا کلیک کنید.
تحقیق کلمات کلیدی با ربات جستجوی گوگل پایتون
کتابخانه nodriver: جایگزینی سریع و ایمن برای سلنیوم
این اسکریپت از کتابخانه قدرتمند nodriver استفاده میکند که جایگزینی عالی برای کتابخانه محبوب سلنیوم است. nodriver سریعتر و سبکتر عمل کرده و از قابلیت تشخیص کمتری برخوردار است و این باعث میشود که ربات شما با محدودیتهای کمتری مواجه شود.
توجه: برای استفاده از nodriver نیاز به استفاده از عبارات async و await میباشد که در ادامه به توضیح آنها خواهیم پرداخت.
راهنمای کامل نوشتن اسکریپت استخراج نتایج گوگل با پایتون
ابتدا کد پایتون را دانلود کنید.
حال بیایید بدون اتلاف وقت، نگاهی دقیق به کد پایتون ربات جستجوگر گوگل بیندازیم:
import time, nodriver as uc
async def main():
# مکث یک ثانیهای
time.sleep(1)
# راهاندازی مرورگر با حالت بدون هد (headless)
browser = await uc.start(headless=True)
# تعداد نتایج برای استخراج
num = 50
# تعداد صفحات نتایج برای بررسی
pages = round(num/10) + 1
# عبارت کلیدی برای جستجو
search_phrase = "ربات جستجو گوگل با پایتون"
# لیستی برای ذخیرهی نتایج
results = []
# بهازای هر صفحه نتایج گوگل
for i in range(pages):
# ایجاد تب جدید و رفتن به آدرس گوگل با عبارت جستجو
tab = await browser.get(url = f'https://www.google.com/search?q={search_phrase}&start={i*10}')
# مکث برای بارگذاری کامل صفحه
# استخراج نتایج جستجو (تگهای a با id="search")
search_results = await tab.find_all("#search a")
# بررسی تک تک نتایج
for each in search_results:
# استخراج عنوان (تگ h3 داخل تگ a)
result = await each.query_selector("h3 span")
# اگر عنوان وجود داشت
if result:
title = result.text
link = each.href
# اضافه کردن عنوان و لینک به لیست نتایج
results.append((title,link))
# بررسی خروج از حلقه در صورت رسیدن به تعداد نتایج دلخواه
if index == num:
break
# ذخیرهی نتایج در فایل خروجی
with open('results.txt','w+') as file:
index = 1
for result in results:
# فرمت خروجی: شمارنده - عنوان - لینک
file.write(f'{index}. {result[0]}\n{result[1]}\n\n')
if index == num:
break
else:
index += 1
# بستن تب
await tab.close()
print(f'استخراج نتایج با موفقیت انجام شد!')
if __name__ == "__main__":
uc.loop().run_until_complete(main())
آشنایی با دستورات async و await پایتون
کلمات async و await نشاندهندهی ماهیت غیرهمزمان (asynchronous) کتابخانه nodriver هستند. این کلمات به کد اجازه میدهند تا بدون نیاز به انتظار برای باز شدن کامل یک صفحه، به سراغ صفحهی دیگر برود و در نهایت خروجی را به صورت مرتب تحویل دهد.
کاربردهای ربات جستجوی گوگل
این ربات کاربردهای متنوعی در سئو و تحقیق کلمات کلیدی دارد. از جمله:
- استخراج انبوه نتایج مرتبط با کلمات کلیدی: به سادگی میتوانید با این اسکریپت، صدها و یا حتی هزاران نتیجهی مرتبط با کلمات کلیدی خود را استخراج کرده و آنها را مورد بررسی قرار دهید.
- تحلیل توزیع کلمات کلیدی در نتایج برتر: با بررسی عناوین و لینکهای استخراج شده، میتوانید ببینید که گوگل چه کلمات کلیدی را در نتایج برتر خود جای داده است.
- شناسایی رقبای احتمالی: با دیدن وبسایتهای حاضر در نتایج برتر، میتوانید رقبای احتمالی خود در حوزهی کاریتان را شناسایی کنید.
- ایدهپردازی برای تولید محتوا: بررسی عناوین نتایج برتر میتواند به شما در پیدا کردن موضوعات جدید و ترند برای تولید محتوای مرتبط با حوزهی کاریتان کمک کند.
خدمات حرفهای ساخت رباتهای پایتونی
تیم ما در گلدراش، متخصص در ساخت انواع رباتهای پایتونی برای اتوماسیون کارهای تکراری و وب اسکریپینگ میباشد. اگر به رباتی اختصاصی با قابلیتهای بیشتر نیاز دارید، از طریق وبسایت گلدراش برایمان کامنت بگذارید تا در اسرع وقت با شما تماس بگیریم.
امیدواریم این آموزش در رابطه با ساخت ربات جستجوی گوگل برای شما مفید بوده باشد. با استفاده از این اسکریپت میتوانید به راحتی فرآیند تحقیق کلمات کلیدی و سئوی خود را سادهسازی کنید. فراموش نکنید که برای دستیابی به بهترین نتایج، همواره از عبارات کلیدی مرتبط در محتوای خود استفاده نمایید.
مطلبی دیگر از این انتشارات
استعداد برنامه نویسی چیست؟
مطلبی دیگر از این انتشارات
مفهوم Backward compatibility
مطلبی دیگر از این انتشارات
۵ اشتباه رایج برنامهنویسان تازهکار (و چگونه از آنها اجتناب کنیم)