ازگر: اپنے طاق تلاش والے مطلوبہ الفاظ کے ل Tre گوگل کے خودکار تجارتی رجحانات کا اسکرپٹ

از خود ساز رجحانات پر قبضہ کرنے کے لئے ازگر اسکرپٹ

گوگل ٹرینڈز ہر ایک کو پسند ہے ، لیکن جب لمبی دم کے مطلوبہ الفاظ کی بات کی جائے تو یہ قدرے مشکل ہے۔ ہم سب اہلکار کو پسند کرتے ہیں گوگل ٹرینڈس سروس تلاش کے رویے پر بصیرت حاصل کرنے کے ل۔ تاہم ، دو چیزیں بہت سے لوگوں کو ٹھوس کام کے لئے استعمال کرنے سے روکتی ہیں۔

  1. جب آپ کو ڈھونڈنے کی ضرورت ہو نئے طاق کلیدی الفاظ، وہاں گوگل ٹرینڈس پر کافی اعداد و شمار نہیں ہیں 
  2. گوگل کے رجحانات کی درخواستیں کرنے کیلئے آفیشل API کی کمی: جب ہم ماڈیول جیسے استعمال کرتے ہیں pyrends، پھر ہمیں پراکسی سرور استعمال کرنا ہوں گے ، یا ہم بلاک ہوجائیں گے۔ 

اس آرٹیکل میں ، میں ایک ازگر اسکرپٹ کا اشتراک کروں گا جو ہم نے گوگل آٹو سگسٹ کے ذریعہ ٹریڈنگ والے مطلوبہ الفاظ برآمد کرنے کے لئے لکھا ہے۔

وقت کے ساتھ خودکار نتائج برآمد کریں اور اسٹور کریں 

فرض کریں ہمارے پاس بیجوں کے 1,000،200,000 مطلوبہ الفاظ موجود ہیں جو گوگل آٹوزجسٹ کو بھیجے جائیں۔ اس کے بدلے میں ، ہمیں شاید قریب XNUMX،XNUMX ملیں گے طویل پونچھ مطلوبہ الفاظ پھر ، ہمیں ایک ہفتہ بعد ہی ایسا کرنے کی ضرورت ہے اور دو سوالوں کے جوابات کے ل these ان ڈیٹاسیٹس کا موازنہ کریں:

  • کون سے سوالات ہیں نئے الفاظ آخری وقت کے مقابلے میں؟ شاید یہی معاملہ ہماری ضرورت ہے۔ گوگل سوچتا ہے کہ وہ سوالات زیادہ نمایاں ہوتے جارہے ہیں - ایسا کرنے سے ، ہم اپنا خود کا گوگل خودکار حل تشکیل دے سکتے ہیں! 
  • کون سے سوالات ہیں کلیدی الفاظ نہیں رجحان سازی

اسکرپٹ بالکل آسان ہے ، اور بیشتر کوڈ میں نے شیئر کیا ہے یہاں. تازہ کاری شدہ کوڈ پچھلے رنز سے ڈیٹا کو بچاتا ہے اور وقت کے ساتھ تجاویز کا موازنہ کرتا ہے۔ ہم SQLite جیسے فائل پر مبنی ڈیٹا بیس کو آسان بنانے کیلئے گریز کرتے ہیں - لہذا سارا ڈیٹا اسٹوریج نیچے CSV فائلوں کا استعمال کررہا ہے۔ اس سے آپ کو ایکسل میں فائل درآمد کرنے اور اپنے کاروبار میں مطلوبہ الفاظ کے طاق رجحانات دریافت کرنے کا اہل بناتا ہے۔

اس ازگر اسکرپٹ کا استعمال کرنا

  1. اپنا بیج مطلوبہ الفاظ کا سیٹ درج کریں جو خود کو مکمل کریں: Keywords.csv پر بھیجا جانا چاہئے
  2. اپنی ضرورت کے لئے اسکرپٹ کی ترتیبات کو ایڈجسٹ کریں:
    • زبان: پہلے سے طے شدہ "en"
    • ملک: پہلے سے طے شدہ "ہم"
  3. ہفتے میں ایک بار چلانے کے لئے اسکرپٹ کا نظام الاوقات بنائیں۔ آپ اپنی مرضی کے مطابق اسے دستی طور پر بھی چلا سکتے ہیں۔
  4. مزید تجزیہ کے ل key کیورڈ_سگگیشنس سی ایس وی کا استعمال کریں:
    • پہلا_سین: یہ وہ تاریخ ہے جہاں سوال پہلی بار آٹو سیکس میں نمودار ہوا
    • آخری_سن: وہ تاریخ جہاں سوال آخری بار دیکھا گیا
    • نیا ہے: اگر پہلے_سیئن == آخری_سن ہم نے اس پر سیٹ کیا یہ سچ ہے - گوگل آٹو سروس میں نئی ​​ٹریڈنگ تلاش کرنے کے لئے اس قدر پر صرف فلٹر کریں۔

ازگر کا کوڈ یہ ہے

# Pemavor.com Autocomplete Trends
# Author: Stefan Neefischer (stefan.neefischer@gmail.com)
import concurrent.futures
from datetime import date
from datetime import datetime
import pandas as pd
import itertools
import requests
import string
import json
import time

charList = " " + string.ascii_lowercase + string.digits

def makeGoogleRequest(query):
    # If you make requests too quickly, you may be blocked by google 
    time.sleep(WAIT_TIME)
    URL="http://suggestqueries.google.com/complete/search"
    PARAMS = {"client":"opera",
            "hl":LANGUAGE,
            "q":query,
            "gl":COUNTRY}
    response = requests.get(URL, params=PARAMS)
    if response.status_code == 200:
        try:
            suggestedSearches = json.loads(response.content.decode('utf-8'))[1]
        except:
            suggestedSearches = json.loads(response.content.decode('latin-1'))[1]
        return suggestedSearches
    else:
        return "ERR"

def getGoogleSuggests(keyword):
    # err_count1 = 0
    queryList = [keyword + " " + char for char in charList]
    suggestions = []
    for query in queryList:
        suggestion = makeGoogleRequest(query)
        if suggestion != 'ERR':
            suggestions.append(suggestion)

    # Remove empty suggestions
    suggestions = set(itertools.chain(*suggestions))
    if "" in suggestions:
        suggestions.remove("")
    return suggestions

def autocomplete(csv_fileName):
    dateTimeObj = datetime.now().date()
    #read your csv file that contain keywords that you want to send to google autocomplete
    df = pd.read_csv(csv_fileName)
    keywords = df.iloc[:,0].tolist()
    resultList = []

    with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
        futuresGoogle = {executor.submit(getGoogleSuggests, keyword): keyword for keyword in keywords}

        for future in concurrent.futures.as_completed(futuresGoogle):
            key = futuresGoogle[future]
            for suggestion in future.result():
                resultList.append([key, suggestion])

    # Convert the results to a dataframe
    suggestion_new = pd.DataFrame(resultList, columns=['Keyword','Suggestion'])
    del resultList

    #if we have old results read them
    try:
        suggestion_df=pd.read_csv("keyword_suggestions.csv")
        
    except:
        suggestion_df=pd.DataFrame(columns=['first_seen','last_seen','Keyword','Suggestion'])
    
    suggestionCommon_list=[]
    suggestionNew_list=[]
    for keyword in suggestion_new["Keyword"].unique():
        new_df=suggestion_new[suggestion_new["Keyword"]==keyword]
        old_df=suggestion_df[suggestion_df["Keyword"]==keyword]
        newSuggestion=set(new_df["Suggestion"].to_list())
        oldSuggestion=set(old_df["Suggestion"].to_list())
        commonSuggestion=list(newSuggestion & oldSuggestion)
        new_Suggestion=list(newSuggestion - oldSuggestion)
         
        for suggest in commonSuggestion:
            suggestionCommon_list.append([dateTimeObj,keyword,suggest])
        for suggest in new_Suggestion:
            suggestionNew_list.append([dateTimeObj,dateTimeObj,keyword,suggest])
    
    #new keywords
    newSuggestion_df = pd.DataFrame(suggestionNew_list, columns=['first_seen','last_seen','Keyword','Suggestion'])
    #shared keywords with date update
    commonSuggestion_df = pd.DataFrame(suggestionCommon_list, columns=['last_seen','Keyword','Suggestion'])
    merge=pd.merge(suggestion_df, commonSuggestion_df, left_on=["Suggestion"], right_on=["Suggestion"], how='left')
    merge = merge.rename(columns={'last_seen_y': 'last_seen',"Keyword_x":"Keyword"})
    merge["last_seen"].fillna(merge["last_seen_x"], inplace=True)
    del merge["last_seen_x"]
    del merge["Keyword_y"]
    
    #merge old results with new results
    frames = [merge, newSuggestion_df]
    keywords_df =  pd.concat(frames, ignore_index=True, sort=False)
    # Save dataframe as a CSV file
    keywords_df['first_seen'] = pd.to_datetime(keywords_df['first_seen'])
    keywords_df = keywords_df.sort_values(by=['first_seen','Keyword'], ascending=[False,False])   
    keywords_df['first_seen']= pd.to_datetime(keywords_df['first_seen'])
    keywords_df['last_seen']= pd.to_datetime(keywords_df['last_seen'])
    keywords_df['is_new'] = (keywords_df['first_seen']== keywords_df['last_seen'])
    keywords_df=keywords_df[['first_seen','last_seen','Keyword','Suggestion','is_new']]
    keywords_df.to_csv('keyword_suggestions.csv', index=False)

# If you use more than 50 seed keywords you should slow down your requests - otherwise google is blocking the script
# If you have thousands of seed keywords use e.g. WAIT_TIME = 1 and MAX_WORKERS = 5
WAIT_TIME = 0.2
MAX_WORKERS = 20
# set the autocomplete language
LANGUAGE = "en"
# set the autocomplete country code - DE, US, TR, GR, etc..
COUNTRY="US"
# Keyword_seed csv file name. One column csv file.
#csv_fileName="keyword_seeds.csv"
CSV_FILE_NAME="keywords.csv"
autocomplete(CSV_FILE_NAME)
#The result will save in keyword_suggestions.csv csv file

ازگر اسکرپٹ ڈاؤن لوڈ کریں

آپ کا کیا خیال ہے؟

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.