دسته‌ها
اخبار

دریافت اطلاعات SEO از Rank Ranger API با استفاده از Python


20 آوریل 2023 | ارسال شده توسط آندریاس وونیاتیس

API ها اغلب می توانند برای متخصصان سئو بسیار ترسناک باشند، به خصوص برای ،، که بیشتر به کار در مایکروسافت ا،ل عادت دارند. در حالی که Rank Ranger اسنادی را ارائه می دهد که به راحتی قابل پیگیری هستند، من این راهنما را برای ارائه کد پایتون به شما نوشته ام تا بتو،د به م،ای واقعی کلمه کد را کپی-پیست کنید تا فوراً شروع کنید.

Rank Ranger API قابلیت های زیادی را از دو API اصلی ارائه می دهد:

  • گزارش: مدیریت و است،اج داده‌های مشتری، که داده‌ها را در حساب Rank Ranger خود ردیابی می‌کنید
  • جستجو: هوش رقابتی مانند SERP با ویژگی‌ها

ما روی دریافت داده‌ها در مورد شما تمرکز خواهیم کرد:

  • شماره شناسه بسته (برای دریافت اطلاعات از بقیه API لازم است)
  • کمپین هایی که اجرا می کنید
  • کلمات کلیدی (در یک کمپین)
  • رتبه بندی (برای کلمات کلیدی شما)

متوجه خواهید شد که در هر بخش چند مرحله وجود دارد که ما توضیح می دهیم تا به شما کمک کند بفهمید کد پایتون چه کاری انجام می دهد تا بتو،د کمی پایتون را در راه یاد بگیرید و در عین حال از موانع کوچکی که برای دریافت داده های خود غلبه می کنید قدرد، کنید!

مقدماتی

شما می تو،د فرض کنید که تمام کدهای پایتون در یک نوت بوک Jupyter به صورت محلی روی دستگاه شما اجرا می شود، با این حال، این کد باید در نوت بوک های Google colab نیز اجرا شود.

ما با وارد ، کتابخانه های خود شروع می کنیم:

برای جایگزینی توکن ساختگی API در زیر به کد API خود نیاز دارید که در تنظیمات > API و برنامه‌های متصل ایجاد می‌شود:

api_،n = ‘12345-x1234abcd12345abcdefg0xyz1h2a3seo’

شماره شناسه بسته

هنگامی که بسته های کتابخانه Pyt،n وارد شد و متغیر api ،n تنظیم شد، ما آماده شروع استفاده از API هستیم:

ابتدا می سازیم و درخواستی که نتیجه آن در شیئی به نام r ذخیره می شود را می سازیم. درخواست ‘r’ URL API است که ما نامیده ایم شامل URL API، نقطه پای، API ‘packages’ (با رنگ زرد برجسته شده)، کلید api و ،وجی که روی json تنظیم شده است:

ما “r” را چاپ می کنیم تا بتو،م ببینیم که آیا تماس API موفق به اتصال (یا نه) شده است:

چاپ (r)

در زیر یک پاسخ 200 دریافت می کنیم که نشانه خوبی است:

<پاسخ [200]>

اکنون می‌خواهیم محتویات پاسخ API را با استفاده از ویژگی «.text» «r» در ،یب با تابع ()read_json ()pandas (pd) باز کنیم. این در یک متغیر جدید به نام ‘packages_output’ ذخیره می شود:

packages_output = pd.read_json(r.text)

برای اینکه ،وجی json قابل تجزیه باشد، با استفاده از تابع to_list() آن را به لیست تبدیل می کنیم:

packages_list = بسته های_،وجی[‘packages’].به لیست()

با استفاده از چاپ می تو،م ببینیم که چه شکلی است:

چاپ (لیست_بسته ها)

،وجی نمونه در زیر با مشخص ، شماره شناسه بسته نشان داده شده است:


کمپین ها

هنگامی که شناسه بسته خود را که در مثال بالا به ،وان “87321” چاپ شده است، دریافت کردید، می تو،د ببینید که از چه کمپین هایی باید داده ها را است،اج کنید. ما با تنظیم متغیر packages_id شروع می کنیم:

packages_id = ‘87321’

سپس درخواست را می سازیم، این بار با استفاده از نقطه پای، ‘package_campaigns’:

مانند قبل، پاسخ API را با استفاده از read_json باز می کنیم، به یک لیست تبدیل می کنیم و نتایج را چاپ می کنیم:

مجدداً ما یک لیست ساختگی داریم تا نشان دهیم ،وجی چگونه به نظر می رسد:

توجه داشته باشید که ،وجی همه کمپین ها را با شناسه کمپین، نام، دامنه و موتور جستجوی مورد نظر فهرست می کند.


کلید واژه ها

بیایید کلمات کلیدی را از کمپین Slate Safety دریافت کنیم که از نقطه پای، API get_campaign_info و مجموعه شناسه کمپین مورد نظر در زیر استفاده می کند:

از keywords_output خواهید دید که انواع اطلاعات مانند دامنه، تعداد کلمات کلیدی، خود کلمات کلیدی، دامنه، موتور جستجو و غیره را دریافت می کنید:

As usual, we’ll convert the output to a list:

keywords_list = keywords_output[‘result’].به لیست()

سپس برای به دست آوردن کلمات کلیدی، فقط به ،صر ششم لیست با عبور از “5” نیاز داریم. دلیل اینکه ما از 5 عبور می کنیم و نه 6 این است که پایتون از نمایه سازی مبتنی بر صفر استفاده می کند که در آن 0 به ،وان اولین موقعیت در هر لیست مح،ه می شود:

print (کلمات_کلیدی[5])

،وجی نشان داده شده در زیر نه تنها دارای کلمات کلیدی است، بلکه هر بر،بی را نیز به آن اختصاص داده است. توجه داشته باشید که ،صر ششم لیست یک دیکشنری است که یکی از راه هایی است که پایتون داده ها را ذخیره می کند. در این مورد، کلید فرهنگ لغت «کلید واژه» و مقدار آن فهرستی از فرهنگ لغت است (یکی برای هر کلمه کلیدی):


رتبه بندی

خوشبختانه برای بدست آوردن رتبه خود به کلمات کلیدی نیاز ندارید. برخلاف سایر API های ردیاب رتبه که من با آنها کار کرده ام (که شرم آنها با بی نام ماندن در امان خواهد بود)، Rank Ranger API فقط به موارد زیر نیاز دارد:


  • شناسه کمپین

  • تاریخ

  • دامنه

  • شناسه موتور جستجو

حتی می‌تو،د با استفاده از پارامتر include_best_rank درخواست کنید که آیا تمام داده‌های رتبه در هر کلمه کلیدی یا بالاترین رتبه در هر کلمه کلیدی را می‌خواهید. بیایید داده های رتبه کلمه کلیدی را با استفاده از موارد بالا برای ایجاد درخواست API با استفاده از نقطه پای، rank_stats API بدست آوریم.

ابتدا پارامترها را تنظیم کنید:

قبل از تبدیل به لیست، درخواست API را بسازید و انجام دهید:

و در اینجا نتیجه ای است که داده های رتبه بندی برای 4 کلمه کلیدی اول نشان داده می شود:

توجه داشته باشید که داده های URL در واقع دامنه است و “lp” (احتمالاً صفحه فرود) URL رتبه بندی بدون بخش دامنه است. برای ایجاد URL رتبه‌بندی باید URL و کلیدهای فرهنگ لغت LP را با هم ،یب کنید که بعداً در کد انجام خواهیم داد.

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

ابتدا یک قاب داده خالی به نام rankings_df ایجاد می کنیم که تمام داده ها در آن ذخیره می شوند:

rankings_df = pd.DataFrame(columns=[‘keyword’])

یک لیست خالی به نام rows_list تنظیم کنید که شامل تمام ردیف های داده به ،وان یک لیست باشد:

rows_list = []

سپس از طریق فرهنگ لغت rankings_list (عصاره چاپ شده در بالا) کار می کنیم تا داده ها را در یک لیست برای یک چارچوب داده نهایی قرار دهیم. URL ،یبی از URL و صفحه فرود خواهد بود. حلقه for یک تکنیک کدگذاری مفید برای جلوگیری از تکرار خطوط کد است، که در این مورد با مرور هر آیتم از rankings_list کار می‌کند، به پایتون نشان می‌دهد کدام ستون داده‌ها را ذخیره کند، و سپس نتیجه را به rows_list اضافه می‌کند:

هنگامی که حلقه for به پایان رسید (ی،ی بلوک کد بالا)، rows_list به تابع Pandas DataFrame ارسال می شود تا rankings_df، ج، داده های رتبه ما ایجاد شود:

rankings_df= pd.DataFrame(rows_list)

Slug URL در بریس های فرفری پیچیده شده است که ما می خواهیم جایگزین کنیم:

rankings_df[‘url’] = rankings_df[‘url’].str.replace(‘{‘, ”)

rankings_df[‘url’] = rankings_df[‘url’].str.replace(‘}’, ”)

ستون رتبه همچنین برای کلمات کلیدی که سایت شما رتبه بندی نمی کند، ‘-‘ را برمی گرداند. بهترین پاسخ این است که آن را با یک ‘100’ جایگزین کنید و نوع ستون را مطابق شکل زیر به عددی تبدیل کنید:

rankings_df[‘rank’] = rankings_df[‘rank’].str.replace(‘-‘, ‘100’)

rankings_df[‘rank’] = rankings_df[‘rank’].atype(float)

برای چاپ قاب داده:

rankings_df

اکنون یک قاب داده آماده برای صادرات در قالب CSV با استفاده از تابع ()pandas to_csv داریم:

rankings_df.to_csv(‘your_filename.csv’)


جلوتر بردن

اگر تا اینجا پیش رفتید (بدون سرسری)، تبریک می گویم! ما اصول استفاده از Pyt،n را برای استفاده از RankRanger API که می تواند برای کمک به شما مورد استفاده قرار گیرد توضیح دادیم:


  • داشبوردهای گزارش دهی سفارشی بسازید

  • برای تحقیقات سئوی خود داده ها را در مقیاس است،اج کنید

همانطور که گفته شد، Rank Ranger دارای API های بینشی است که می تواند اطلاعات زیادی در مورد هدف جستجوی یک عبارت جستجو به شما بگوید که در مقاله بعدی به آن خواهیم پرداخت.

کشف کنید که Rank Ranger چگونه می تواند تجارت شما را ارتقا دهد

تمام داده های موجود در بینش هایی که برای تسلط بر SERP ها نیاز دارید



منبع: https://www.rankranger.com/blog/getting-seo-data-with-the-rankranger-api-using-pyt،n