document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-104452\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\">&nbsp;require \'rubygems\'<\/div><div class=\"line\" id=\"LC2\">require \'gattica\'<\/div><div class=\"line\" id=\"LC3\">class ExtractKeywords<\/div><div class=\"line\" id=\"LC4\">&nbsp;&nbsp;def initialize(email,password)<\/div><div class=\"line\" id=\"LC5\">&nbsp;&nbsp;&nbsp;&nbsp;@gs = Gattica.new(email,password)<\/div><div class=\"line\" id=\"LC6\">&nbsp;&nbsp;end<\/div><div class=\"line\" id=\"LC7\">&nbsp;<\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;def get_accounts<\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;&nbsp;&nbsp;results = []<\/div><div class=\"line\" id=\"LC10\">&nbsp;&nbsp;&nbsp;&nbsp;@gs.accounts.each{|account|<\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile = {}<\/div><div class=\"line\" id=\"LC12\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile[:site_title] = account.title<\/div><div class=\"line\" id=\"LC13\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile[:profile_id] = account.profile_id ## this is the id required for requests to the API<\/div><div class=\"line\" id=\"LC14\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile[:account_name] = account.account_name<\/div><div class=\"line\" id=\"LC15\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile[:account_id] = account.account_id<\/div><div class=\"line\" id=\"LC16\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;profile[:web_property_id] = account.web_property_id<\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;results &lt;&lt; profile<\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;&nbsp;&nbsp;return results<\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;end<\/div><div class=\"line\" id=\"LC21\">&nbsp;<\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;def connect_profile(profile)<\/div><div class=\"line\" id=\"LC23\">&nbsp;&nbsp;&nbsp;&nbsp;@gs.profile_id = profile[:profile_id]<\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;end<\/div><div class=\"line\" id=\"LC25\">&nbsp;<\/div><div class=\"line\" id=\"LC26\">&nbsp;&nbsp;def get_keywords(start_date = nil, end_date = Date.today)<\/div><div class=\"line\" id=\"LC27\">&nbsp;&nbsp;&nbsp;&nbsp;results = []<\/div><div class=\"line\" id=\"LC28\">&nbsp;&nbsp;&nbsp;&nbsp;response = @gs.get({:start_date =&gt; (start_date || (end_date - 365)).to_s,<\/div><div class=\"line\" id=\"LC29\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:end_date =&gt; end_date.to_s,<\/div><div class=\"line\" id=\"LC30\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:dimensions =&gt; &quot;keyword&quot;,<\/div><div class=\"line\" id=\"LC31\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:metrics =&gt; &quot;entrances&quot;,<\/div><div class=\"line\" id=\"LC32\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:sort =&gt; &quot;-entrances&quot;}).to_csv.split(&quot;\\n&quot;)<\/div><div class=\"line\" id=\"LC33\">&nbsp;&nbsp;&nbsp;&nbsp;response.delete_at(0)<\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;&nbsp;&nbsp;response.each{|result|<\/div><div class=\"line\" id=\"LC35\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = result.split(%Q{&quot;,&quot;})<\/div><div class=\"line\" id=\"LC36\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resulthash = {:keyword =&gt; result[3], :hits =&gt; result[4]} <\/div><div class=\"line\" id=\"LC37\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;results &lt;&lt; resulthash unless result[0].include? &quot;site:&quot; or result[0].match(/\\(.*\\)/)<\/div><div class=\"line\" id=\"LC38\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/div><div class=\"line\" id=\"LC39\">&nbsp;&nbsp;&nbsp;&nbsp;return results<\/div><div class=\"line\" id=\"LC40\">&nbsp;&nbsp;end<\/div><div class=\"line\" id=\"LC41\">&nbsp;&nbsp;<\/div><div class=\"line\" id=\"LC42\">end<\/div><div class=\"line\" id=\"LC43\">&nbsp;<\/div><div class=\"line\" id=\"LC44\">&nbsp;<\/div><div class=\"line\" id=\"LC45\">gs = ExtractKeywords.new(&quot;account_email@gmail.com&quot;,&quot;password&quot;)<\/div><div class=\"line\" id=\"LC46\">accounts = gs.get_accounts<\/div><div class=\"line\" id=\"LC47\">#p accounts.last<\/div><div class=\"line\" id=\"LC48\">gs.connect_profile(accounts.last) #Im using the last of my many analytics accounts, just for testing<\/div><div class=\"line\" id=\"LC49\">keywords = gs.get_keywords<\/div><div class=\"line\" id=\"LC50\">keywords.each{|row|<\/div><div class=\"line\" id=\"LC51\">p row<\/div><div class=\"line\" id=\"LC52\">}<\/div><div class=\"line\" id=\"LC53\">&nbsp;<\/div><\/pre><\/div>\n        \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/104452/c4b1169715de38f37fe39e28b8f6a1cf46f02854/G_Analytics%20Keyword%20Extractor%20-%20Gattica%20Gem\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/104452#file_g_analytics keyword extractor _ gattica gem\" style=\"float:right;margin-right:10px;color:#666\">G_Analytics Keyword Extractor - Gattica Gem<\/a>\n          <a href=\"http://gist.github.com/104452\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
