linkedindata 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 866d2fb6f839f23875f5612eee951bf70dba8fda
4
- data.tar.gz: 323ee6f98518090dd647e31b461b2ad043c5c9eb
3
+ metadata.gz: 1ce0c9ca0b41f4135c0bac28948b0c79b0fc1f4f
4
+ data.tar.gz: e4b25773439dca11aa6db67b725b2a4d7e827c2a
5
5
  SHA512:
6
- metadata.gz: 26d855e11a3181b1bb419e86385df147d438aaaa1d0cf5e5edeb9dc9de5887da826d9e6e97aadb1d79741d2be68b84d495dcc72d8f9e0bfccc8e56f7465141e0
7
- data.tar.gz: 2302fd6cfb1d96926ec6bfeecd4943b230e0dd250c52f3453197e79839c9140103988d0f5430b4a195cd897d4a0aaddafdabc8410015cb27b8c7ab9a97aaea0f
6
+ metadata.gz: 2598ede15cff3d41303c6bd0745099ed23ffb0b7375970c1987d17b5621ae0c36fddf731468fcc9b889670a75e46bae8b6b30a85bc7bcdf2ce7c772954aa71d7
7
+ data.tar.gz: 7e7e3ffbe4619a783b1315a78157986c20416bc6f07f9ac084f8ece34020f9210292153ba7669a3d7f5cb26e05e9bd7e36b451cf9c7365227ba710cb3f83d091
data/lib/getrelated.rb CHANGED
@@ -10,15 +10,20 @@ class GetRelated
10
10
 
11
11
  # Get the list of names of related people
12
12
  def getList
13
- html = Nokogiri::HTML(open(@url))
14
-
13
+ html = Nokogiri::HTML(open(@url.gsub("http", "https")))
14
+
15
15
  if html
16
16
  namelist = Array.new
17
17
 
18
18
  # Go through each person
19
19
  html.css("div.insights-browse-map").each do |d|
20
- d.css("li").each do |l|
21
- namelist.push(l.css("h4").text)
20
+ if d.css("h3").text == "People Also Viewed"
21
+ d.css("li").each do |l|
22
+ temphash = Hash.new
23
+ temphash[:name] = l.css("h4").text
24
+ temphash[:url] = l.css("a")[0]['href']
25
+ namelist.push(temphash)
26
+ end
22
27
  end
23
28
  end
24
29
 
data/lib/linkedindata.rb CHANGED
@@ -12,6 +12,7 @@ class LinkedinData
12
12
  @input = input
13
13
  @output = Array.new
14
14
  @startindex = 10
15
+ @numhops = todegree
15
16
  end
16
17
 
17
18
  # Searches for profiles on Google
@@ -39,7 +40,7 @@ class LinkedinData
39
40
  if saveurl[1]
40
41
  url = saveurl[1].split("&")
41
42
  begin
42
- scrape(url[0])
43
+ scrape(url[0], 0)
43
44
  rescue
44
45
  end
45
46
  end
@@ -61,7 +62,7 @@ class LinkedinData
61
62
  end
62
63
 
63
64
  # Scrapes profile
64
- def scrape(url)
65
+ def scrape(url, curhops)
65
66
  # Download profile and rescue on error
66
67
  begin
67
68
  url.gsub!("https", "http")
@@ -71,7 +72,7 @@ class LinkedinData
71
72
 
72
73
  # Parse profile if returned
73
74
  if profile
74
- p = ParseProfile.new(profile, url)
75
+ p = ParseProfile.new(profile, url, curhops)
75
76
  @output.concat(p.parse)
76
77
  end
77
78
  end
@@ -79,6 +80,24 @@ class LinkedinData
79
80
  # Gets all data and returns in JSON
80
81
  def getData
81
82
  search
83
+
84
+ # Get related profiles
85
+ @numhops.times do
86
+ @output.each do |o|
87
+ if o[:degree] < @numhops
88
+
89
+ if o[:related_people]
90
+ o[:related_people].each do |i|
91
+ if @output.select { |obj| obj[:name] == i[:name]}.empty?
92
+ scrape(i[:url], o[:degree]+1)
93
+ end
94
+ end
95
+ end
96
+
97
+ end
98
+ end
99
+ end
100
+
82
101
  formatted_json = JSON.pretty_generate(@output)
83
102
  return formatted_json
84
103
  end
data/lib/parseprofile.rb CHANGED
@@ -2,11 +2,12 @@ require 'json'
2
2
  load 'getrelated.rb'
3
3
 
4
4
  class ParseProfile
5
- def initialize(profile, url)
5
+ def initialize(profile, url, curhops)
6
6
  @profile = profile
7
7
  @url = url
8
8
  @output = Array.new
9
9
  @related_people
10
+ @curhops = curhops
10
11
  end
11
12
 
12
13
  # Parse profile
@@ -54,7 +55,8 @@ class ParseProfile
54
55
  :profile_url => @url,
55
56
  :current => status,
56
57
  :timestamp => Time.now,
57
- :related_people => @related_people)
58
+ :related_people => @related_people,
59
+ :degree => @curhops)
58
60
  c.merge!(:pic_path => getPic)
59
61
  return c
60
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linkedindata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - M. C. McGrath
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
11
+ date: 2015-01-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Scrapes all LinkedIn profiles including terms you specify.
14
14
  email: shidash@shidash.com