ਪਾਈਥਨ: ਸਕ੍ਰਿਪਟ ਇਕ ਗੂਗਲ ਆਟੋਸੋਗੇਸਟ ਐਕਸਟਰੈਕਟ ਟ੍ਰੈਂਡਜ ਟ੍ਰੈਂਡਜ ਟੂ ਤੁਹਾਡੇ ਨੀਚ ਸਰਚ ਕੀਵਰਡਸ ਲਈ

ਪਾਇਥਨ ਸਕ੍ਰਿਪਟ ਆਟੋਮੋਟਿਕ ਰੁਝਾਨਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ

ਹਰ ਕੋਈ ਗੂਗਲ ਦੇ ਰੁਝਾਨਾਂ ਨੂੰ ਪਸੰਦ ਕਰਦਾ ਹੈ, ਪਰ ਜਦੋਂ ਇਹ ਲੋਂਗ ਟੇਲ ਕੀਵਰਡਸ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ ਤਾਂ ਇਹ ਥੋੜਾ ਮੁਸ਼ਕਲ ਹੁੰਦਾ ਹੈ. ਅਸੀਂ ਸਾਰੇ ਅਧਿਕਾਰੀ ਪਸੰਦ ਕਰਦੇ ਹਾਂ ਗੂਗਲ ਰੁਝਾਨ ਸੇਵਾ ਖੋਜ ਵਿਵਹਾਰ 'ਤੇ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ. ਹਾਲਾਂਕਿ, ਦੋ ਚੀਜ਼ਾਂ ਬਹੁਤ ਸਾਰੇ ਇਸ ਨੂੰ ਠੋਸ ਕੰਮ ਲਈ ਵਰਤਣ ਤੋਂ ਰੋਕਦੀਆਂ ਹਨ;

  1. ਜਦੋਂ ਤੁਹਾਨੂੰ ਲੱਭਣ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ ਨਵੇਂ ਮੁੱਖ ਸ਼ਬਦ, ਉੱਥੇ ਗੂਗਲ ਰੁਝਾਨ 'ਤੇ ਕਾਫ਼ੀ ਡਾਟਾ ਨਹੀ ਹੈ 
  2. ਗੂਗਲ ਦੇ ਰੁਝਾਨਾਂ ਲਈ ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ ਅਧਿਕਾਰਤ ਏਪੀਆਈ ਦੀ ਘਾਟ: ਜਦੋਂ ਅਸੀਂ ਮਾਡਿ .ਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਪਾਈਟਰੇਂਡਸ, ਫਿਰ ਸਾਨੂੰ ਪ੍ਰੌਕਸੀ ਸਰਵਰ ਵਰਤਣੇ ਪੈਣਗੇ, ਜਾਂ ਅਸੀਂ ਬਲੌਕ ਹੋ ਜਾਂਦੇ ਹਾਂ. 

ਇਸ ਲੇਖ ਵਿਚ, ਮੈਂ ਇਕ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਸਾਂਝਾ ਕਰਾਂਗਾ ਜੋ ਅਸੀਂ ਗੂਗਲ ਆਟੋਸਗੇਸਟ ਦੁਆਰਾ ਟਰੈਂਡਿੰਗ ਕੀਵਰਡਸ ਨੂੰ ਨਿਰਯਾਤ ਕਰਨ ਲਈ ਲਿਖਿਆ ਹੈ.

ਸਮੇਂ ਦੇ ਨਾਲ ਆਟੋਮੈਟਿਕ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਸਟੋਰ ਕਰੋ 

ਮੰਨ ਲਓ ਕਿ ਸਾਡੇ ਕੋਲ ਗੂਗਲ ਆਟੋਸਗੇਸਟ ਤੇ ਭੇਜੇ ਜਾਣ ਵਾਲੇ 1,000 ਬੀਜ ਕੀਵਰਡ ਹਨ. ਬਦਲੇ ਵਿੱਚ, ਸ਼ਾਇਦ ਅਸੀਂ ਲਗਭਗ 200,000 ਪ੍ਰਾਪਤ ਕਰਾਂਗੇ ਲੰਬੀ ਸ਼ਬਦ. ਫਿਰ, ਸਾਨੂੰ ਇੱਕ ਹਫ਼ਤੇ ਬਾਅਦ ਵਿੱਚ ਅਜਿਹਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਇਹਨਾਂ ਡੇਟਾਸੇਟਾਂ ਦੀ ਤੁਲਨਾ ਦੋ ਪ੍ਰਸ਼ਨਾਂ ਦੇ ਉੱਤਰ ਦੇਣ ਲਈ:

  • ਕਿਹੜੇ ਸਵਾਲ ਹਨ ਨਵੇਂ ਕੀਵਰਡ ਪਿਛਲੇ ਵਾਰ ਦੇ ਮੁਕਾਬਲੇ? ਇਹ ਸ਼ਾਇਦ ਉਹ ਕੇਸ ਹੈ ਜਿਸਦੀ ਸਾਨੂੰ ਲੋੜ ਹੈ. ਗੂਗਲ ਸੋਚਦਾ ਹੈ ਕਿ ਉਹ ਪ੍ਰਸ਼ਨ ਵਧੇਰੇ ਮਹੱਤਵਪੂਰਣ ਹੋ ਰਹੇ ਹਨ - ਅਜਿਹਾ ਕਰਨ ਨਾਲ, ਅਸੀਂ ਆਪਣਾ ਗੂਗਲ ਆਟੋਸਗੇਸਟ ਹੱਲ ਬਣਾ ਸਕਦੇ ਹਾਂ! 
  • ਕਿਹੜੇ ਸਵਾਲ ਹਨ ਕੀਵਰਡ ਹੁਣ ਨਹੀਂ ਰੁਝਾਨ?

ਸਕ੍ਰਿਪਟ ਕਾਫ਼ੀ ਸੌਖੀ ਹੈ, ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਕੋਡ ਜੋ ਮੈਂ ਸਾਂਝਾ ਕੀਤਾ ਹੈ ਇਥੇ. ਅਪਡੇਟ ਕੀਤਾ ਕੋਡ ਪਿਛਲੇ ਸਮੇਂ ਦੇ ਅੰਕੜਿਆਂ ਤੋਂ ਜਾਣਕਾਰੀ ਨੂੰ ਬਚਾਉਂਦਾ ਹੈ ਅਤੇ ਸਮੇਂ ਦੇ ਨਾਲ ਸੁਝਾਵਾਂ ਦੀ ਤੁਲਨਾ ਕਰਦਾ ਹੈ. ਇਸ ਨੂੰ ਸਧਾਰਣ ਬਣਾਉਣ ਲਈ ਅਸੀਂ ਐਸਕਿQLਲਾਈਟ ਵਰਗੇ ਫਾਈਲ-ਅਧਾਰਤ ਡੇਟਾਬੇਸ ਨੂੰ ਟਾਲਿਆ - ਇਸ ਲਈ ਸਾਰਾ ਡਾਟਾ ਸਟੋਰੇਜ ਹੇਠਾਂ CSV ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹੈ. ਇਹ ਤੁਹਾਨੂੰ ਐਕਸਲ ਵਿੱਚ ਫਾਈਲ ਆਯਾਤ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਕਾਰੋਬਾਰ ਲਈ ਖਾਸ ਕੀਵਰਡ ਰੁਝਾਨ ਦੀ ਪੜਚੋਲ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ.

ਇਸ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ

  1. ਆਪਣਾ ਬੀਜ ਕੀਵਰਡ ਸੈੱਟ ਦਰਜ ਕਰੋ ਜੋ ਆਤਮ-ਪੂਰਨ 'ਤੇ ਭੇਜਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ: Keywords.csv
  2. ਆਪਣੀ ਜ਼ਰੂਰਤ ਲਈ ਸਕ੍ਰਿਪਟ ਸੈਟਿੰਗਸ ਵਿਵਸਥਿਤ ਕਰੋ:
    • ਭਾਸ਼ਾ: ਮੂਲ "en"
    • ਦੇਸ਼: ਮੂਲ "ਸਾਡੇ"
  3. ਹਫ਼ਤੇ ਵਿਚ ਇਕ ਵਾਰ ਚਲਾਉਣ ਲਈ ਸਕ੍ਰਿਪਟ ਨੂੰ ਤਹਿ ਕਰੋ. ਤੁਸੀਂ ਇਸ ਨੂੰ ਹੱਥੀਂ ਚਲਾ ਸਕਦੇ ਹੋ ਜਿਵੇਂ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ.
  4. ਅਗਲੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਕੀਵਰਡ_ਸੁਗੇਸ਼ਨਸ.ਸੀ.ਐੱਸ.ਵੀ. ਦੀ ਵਰਤੋਂ ਕਰੋ:
    • ਪਹਿਲਾ_ਸੈਨ: ਇਹ ਉਹ ਤਾਰੀਖ ਹੈ ਜਿਥੇ ਪੁੱਛਗਿੱਛ ਆਟੋਸਗੇਜ ਵਿੱਚ ਪਹਿਲੀ ਵਾਰ ਪ੍ਰਗਟ ਹੋਈ
    • ਅਖੀਰ ਦੇਖਿਆ ਗਿਆ: ਉਹ ਮਿਤੀ ਜਿੱਥੇ ਪੁੱਛਗਿੱਛ ਆਖਰੀ ਵਾਰ ਵੇਖੀ ਗਈ ਸੀ
    • ਹੈ_ ਨਵਾਂ: ਜੇ ਪਹਿਲਾਂ_ ਸੀਨ == ਆਖਰੀ_ਸੀਨ ਅਸੀਂ ਇਸਨੂੰ ਸੈੱਟ ਕੀਤਾ ਇਹ ਸੱਚ ਹੈ - ਗੂਗਲ ਆਟੋਸਗੇਜ ਵਿਚ ਨਵੀਂ ਪ੍ਰਚਲਿਤ ਖੋਜਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਸ ਮੁੱਲ ਤੇ ਫਿਲਟਰ ਕਰੋ.

ਪਾਈਥਨ ਕੋਡ ਇਹ ਹੈ

# 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

ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਡਾਉਨਲੋਡ ਕਰੋ

ਤੁਹਾਨੂੰ ਕੀ ਲੱਗਦਾ ਹੈ?

ਇਹ ਸਾਈਟ ਸਪੈਮ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਅਕਕੀਮੈਟ ਵਰਤਦੀ ਹੈ. ਜਾਣੋ ਕਿ ਤੁਹਾਡੇ ਟਿੱਪਣੀ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਿਵੇਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ.