Sha256: 2e76ead083fa4f0f495afbba6e8c6abbfe9f48dc34306b3d8d2b49987daa62e4
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
class IdsPlease module Grabbers class Facebook < IdsPlease::Grabbers::Base def grab_link @network_id = page_source.scan(/entity_id":"(\d+)"/).flatten.first @avatar = page_source.scan(/og:image" content="([^"]+)"/).flatten.first @display_name = page_source.scan(/og:title" content="([^"]+)"/).flatten.first @username = page_source.scan(/og:url" content="[^"]+\/([^\/"]+)"/).flatten.first @avatar = CGI.unescapeHTML(@avatar.encode('utf-8')) if @avatar @display_name = CGI.unescapeHTML(@display_name.encode('utf-8')) if @display_name @data = {} { type: page_source.scan(/og:type" content="([^"]+)"/).flatten.first.to_s.encode('utf-8'), description: page_source.scan(/og:description" content="([^"]+)"/).flatten.first.to_s.encode('utf-8'), }.each do |k, v| next if v.nil? || v == '' @data[k] = CGI.unescapeHTML(v).strip end @counts = { likes: likes, visits: visits, }.delete_if {|k,v| v.nil? } self rescue => e p e return self end def likes page_source.scan(/>([^"]+) <span class=".+">likes/).flatten.first.to_s.tr(',','').to_i rescue => e p e return nil end def visits page_source.scan(/likes.+>([^"]+)<\/span> <span class=".+">visits/).flatten.first.to_s.tr(',','').to_i rescue => e p e return nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ids_please-2.2.0 | lib/ids_please/grabbers/facebook.rb |