Skip to content

Instantly share code, notes, and snippets.

@johndel
Last active December 28, 2015 08:59
Show Gist options
  • Save johndel/7475061 to your computer and use it in GitHub Desktop.
Save johndel/7475061 to your computer and use it in GitHub Desktop.
FQL test for fun complete.
require 'koala'
require 'pry'
require 'rubygems'
require 'selenium-webdriver'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => 'mysql2',
:database => 'test',
:username => 'whatever',
:password => 'whatever',
:host => 'localhost')
class Movie < ActiveRecord::Base
end
$i = 0
def get_access_token1
@driver = Selenium::WebDriver.for :firefox
@driver.get "https://developers.facebook.com/tools/explorer"
@driver.find_element(:id, "email").send_keys "[email protected]"
@driver.find_element(:id, "pass").send_keys "onepassword"
@driver.find_element(:id, "loginbutton").click
access_token = @driver.find_elements(:id, "access_token").first.attribute("value")
`killall -9 firefox`
Koala::Facebook::API.new(access_token)
end
def get_access_token2
@driver = Selenium::WebDriver.for :firefox
@driver.get "https://developers.facebook.com/tools/explorer"
@driver.find_element(:id, "email").send_keys "[email protected]"
@driver.find_element(:id, "pass").send_keys "secondpassword"
@driver.find_element(:id, "loginbutton").click
access_token = @driver.find_elements(:id, "access_token").first.attribute("value")
`killall -9 firefox`
Koala::Facebook::API.new(access_token)
end
File.open("en-US.dic", "r").each_line do |line|
puts line
sleep(2)
begin
results = @api.fql_query("select page_id, name,genre, fan_count, type from page WHERE CONTAINS('#{line}') AND type='MUSICIAN/BAND'")
rescue
$i = $i + 1
if $i % 2 == 0
@api = get_access_token1
else
@api = get_access_token2
end
results = @api.fql_query("select page_id, name,genre, fan_count, type from page WHERE CONTAINS('#{line}') AND type='TV SHOW' AND genre='comedy'")
end
results.each do |result|
unless Movie.where(page_id: result["page_id"]).first
movie = Movie.new
movie.keyword = line
movie.page_id = result["page_id"]
movie.name = result["name"]
movie.genre = result["genre"]
movie.fan_count = result["fan_count"]
movie.category = result["type"]
movie.save rescue puts "Problem with: #{result['page_id']}"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment