2010-04-14 6 views
8

Je cherche une API/programme/interface pour obtenir les informations suivantes.google recherche classements et tendances api

  1. terme (s) popularité globale - ala Google Trends
  2. comment un site apparaît rang sage pour ledit terme (s) - ala googlesearchpositionfinder et combien de sites ont le terme (s) - norme google, par exemple Recherche de foobar et le dictionnaire urbain apparaît à la position 5 de 9.000.000

Je voudrais voir le nombre de fois un terme de recherche a été utilisé et son/semaine/rupture de popularité mensuel/annuel ainsi que son rang dans un page particulière.

J'ai trouvé googlesearchpositionfinder.com et google.com/trends mais j'ai 5000 termes à rechercher à la main ne se passe pas. J'ai également trouvé www.juiceanalytics.com/openjuice/programmatic-google-trends-api mais cela ne me permet pas de faire une panne pour une période de 2 ans. Fondamentalement, j'essaie de créer un classement des phrases de recherche, les semaines (période), ils étaient plus populaires et comment un site particulier (par exemple dictionnaire urbain) apparaissait dans les classements de recherche Google pour les termes. Voir ci-dessus (1-2)

Aussi cela ne doit pas être en python c'est juste ce que j'ai trouvé construire avec ...

Dernière édition: Les deux réponses ci-dessous aidé. J'ai fini par utiliser curl contre google directement, puis en analysant les résultats avec un programme C#.

Répondre

5

Les tendances de Google ne permettent pas une recherche sur une période de deux ans, mais une année à la fois.
En utilisant pyGTrends.py vous pouvez faire:

from import pyGTrends 
from csv import DictReader 
r = pyGTrends(username, password) 
r.download_report(('stackoverflow'), date='2009') 
export1 = DictReader(r.csv().split('\n')) 
r.download_report(('stackoverflow'), date='2010') 
export2 = DictReader(r.csv().split('\n')) 

alors vous pouvez rejoindre Export1 et exportation2 pour répondre à vos besoins.

OU encore mieux

Vous pouvez télécharger le rapport sans filtre de date et faire le sale boulot avec Python. Regardez le script suivant, arrangez date_MIN \ date_MAX comme vous le souhaitez.

from pyGTrends import pyGTrends 
import csv 
import datetime 
date_MIN ='2007/01/01' 
date_MAX ='2009/03/01' 
r = pyGTrends('username','password') 
r.download_report(('stackoverflow')) 
csv_reader = csv.reader(r.csv().split('\n')) 
with open('gtrends_report.csv', 'w') as csv_out: 
    csv_writer = csv.writer(csv_out) 
    for count,row in enumerate(csv_reader): 
     if count == 0: 
      csv_writer.writerow(row) 
     else: 
      date = datetime.datetime.strptime(row[0], "%b %d %Y") 
      if datetime.datetime.strptime(date_MIN, "%Y/%m/%d") <= date <= datetime.datetime.strptime(date_MAX, "%Y/%m/%d"): 
       csv_writer.writerow(row) 
+0

Merci au moins nous sommes sur la même page, je l'ai fait mais je veux faire une granularité plus fine et je cherche à voir s'il y a un moyen de faire une plage de dates. En ce moment, je suis obligé de rejoindre plusieurs mois ensemble. J'ai également regardé des perspicacités car elle ressemble à des tendances de google avec plus de commande ... mais n'ai pas eu pour cracher dehors la bonne information pourtant ... – Drakkhen

+0

@Drakkhen Mis à jour, travaille pour moi. – systempuntoout

+0

merci pour cela, je l'ai utilisé et est allé un peu plus loin, mais toujours en essayant d'obtenir la première partie qui est à proximité du haut de google recherches une page apparaît – Drakkhen