esearchy 0.2.2.1 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/esearchy +13 -3
- data/lib/esearchy/SocialEngines/classmates.rb +1 -1
- data/lib/esearchy/SocialEngines/googleplus.rb +38 -0
- data/lib/esearchy/SocialEngines/googleprofiles.rb +1 -1
- data/lib/esearchy/SocialEngines/jigsaw.rb +1 -1
- data/lib/esearchy/SocialEngines/linkedin.rb +1 -1
- data/lib/esearchy/SocialEngines/naymz.rb +1 -1
- data/lib/esearchy/SocialEngines/plaxo.rb +1 -1
- data/lib/esearchy/SocialEngines/spoke.rb +1 -1
- data/lib/esearchy/SocialEngines/ziggs.rb +1 -1
- data/lib/esearchy/esearchy.rb +2 -1
- data/lib/esearchy/profiling.rb +2 -0
- data/lib/esearchy/socialengines.rb +1 -0
- metadata +6 -6
data/bin/esearchy
CHANGED
@@ -55,6 +55,7 @@ opts = GetoptLong.new(
|
|
55
55
|
[ '--enable-altavisa', GetoptLong::NO_ARGUMENT ],
|
56
56
|
[ '--enable-linkedin', GetoptLong::NO_ARGUMENT ],
|
57
57
|
[ '--enable-gprofiles', GetoptLong::NO_ARGUMENT ],
|
58
|
+
[ '--enable-gplus', GetoptLong::NO_ARGUMENT ],
|
58
59
|
[ '--enable-naymz', GetoptLong::NO_ARGUMENT ],
|
59
60
|
[ '--enable-ggroups', GetoptLong::NO_ARGUMENT ],
|
60
61
|
[ '--enable-spoke', GetoptLong::NO_ARGUMENT ],
|
@@ -71,6 +72,7 @@ opts = GetoptLong.new(
|
|
71
72
|
[ '--disable-altavisa', GetoptLong::NO_ARGUMENT ],
|
72
73
|
[ '--disable-linkedin', GetoptLong::NO_ARGUMENT ],
|
73
74
|
[ '--disable-gprofiles', GetoptLong::NO_ARGUMENT ],
|
75
|
+
[ '--disable-gplus', GetoptLong::NO_ARGUMENT ],
|
74
76
|
[ '--disable-naymz', GetoptLong::NO_ARGUMENT ],
|
75
77
|
[ '--disable-ggroups', GetoptLong::NO_ARGUMENT ],
|
76
78
|
[ '--disable-spoke', GetoptLong::NO_ARGUMENT ],
|
@@ -328,6 +330,8 @@ opts.each do |opt, arg|
|
|
328
330
|
puts "\t Enables LinkedIn searches.\n"
|
329
331
|
puts "--enable-gprogiles"
|
330
332
|
puts "\t Enables Google Profiles searches.\n"
|
333
|
+
puts "--enable-gplus"
|
334
|
+
puts "\t Enables Google Plus searches.\n"
|
331
335
|
puts "--enable-naymz"
|
332
336
|
puts "\t Enables Naymz searches.\n"
|
333
337
|
puts "--enable-spoke"
|
@@ -358,6 +362,8 @@ opts.each do |opt, arg|
|
|
358
362
|
puts "\t Disables LinkedIn searches.\n"
|
359
363
|
puts "--disable-gprogiles"
|
360
364
|
puts "\t Disables Google Profiles searches.\n"
|
365
|
+
puts "--disable-gplus"
|
366
|
+
puts "\t Disables Google Plus searches.\n"
|
361
367
|
puts "--disable-naymz"
|
362
368
|
puts "\t Disables Naymz searches.\n"
|
363
369
|
puts "--disable-spoke"
|
@@ -380,11 +386,11 @@ opts.each do |opt, arg|
|
|
380
386
|
#END OF HELP
|
381
387
|
exit(0)
|
382
388
|
when '--enable-all' then
|
383
|
-
@people_engines = [:LinkedIn, :Naymz, :Classmates, :GoogleProfiles,
|
384
|
-
:Spoke, :JigSaw, :Ziggs,
|
389
|
+
@people_engines = [:LinkedIn, :Naymz, :Classmates, :GoogleProfiles, :GooglePlus,
|
390
|
+
:Spoke, :JigSaw, :Ziggs, :Plaxo]
|
385
391
|
@email_engines = [:Google, :Bing, :Yahoo, :Altavista, :PGP, :Spider ,:Usenet, :GoogleGroups ]
|
386
392
|
when '--enable-people' then
|
387
|
-
@people_engines = [:LinkedIn, :Naymz, :Classmates, :GoogleProfiles,
|
393
|
+
@people_engines = [:LinkedIn, :Naymz, :Classmates, :GoogleProfiles, :GooglePlus,
|
388
394
|
:Spoke, :JigSaw, :Ziggs, :Plaxo]
|
389
395
|
when '--enable-emails' then
|
390
396
|
@email_engines = [:Google, :Bing, :Yahoo, :Altavista, :PGP, :Spider ,:Usenet, :GoogleGroups ]
|
@@ -402,6 +408,8 @@ opts.each do |opt, arg|
|
|
402
408
|
@people_engines << :LinkedIn
|
403
409
|
when '--enable-gprofiles' then
|
404
410
|
@people_engines << :GoogleProfiles
|
411
|
+
when '--enable-gplus' then
|
412
|
+
@people_engines << :GooglePlus
|
405
413
|
when '--enable-naymz' then
|
406
414
|
@people_engines << :Naymz
|
407
415
|
when '--enable-classmates' then
|
@@ -438,6 +446,8 @@ opts.each do |opt, arg|
|
|
438
446
|
@people_engines.delete(:LinkedIn)
|
439
447
|
when '--disable-gprofiles' then
|
440
448
|
@people_engines.delete(:GoogleProfiles)
|
449
|
+
when '--disable-gplus' then
|
450
|
+
@people_engines.delete(:GooglePlus)
|
441
451
|
when '--disable-naymz' then
|
442
452
|
@people_engines.delete(:Naymz)
|
443
453
|
when '--disable-classmates' then
|
@@ -22,7 +22,7 @@ module ESearchy
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def crawl_people(html)
|
25
|
-
html.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
25
|
+
html.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) \|/).each do |profile|
|
26
26
|
pf = profile[0].to_s
|
27
27
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
28
28
|
p = profile[1].split(" ")
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module ESearchy
|
2
|
+
module SocialEngines
|
3
|
+
class GooglePlus < ESearchy::GenericEngine
|
4
|
+
ENGINE = "www.google.com"
|
5
|
+
PORT = 80
|
6
|
+
NUM = 100
|
7
|
+
TYPE = 2
|
8
|
+
|
9
|
+
def search
|
10
|
+
@querypath = "/cse?q=site:https://plus.google.com+intitle:%22Google+" +
|
11
|
+
"Profile%22+%22Companies+I%27ve+worked+for%22+%22at+" +
|
12
|
+
CGI.escape(@company) + "%22&hl=en&cof=&num=100&filter=0&safe=off&start=" or
|
13
|
+
raise ESearchyMissingCompany, "Mssing website url Object.company=(value)"
|
14
|
+
super
|
15
|
+
end
|
16
|
+
|
17
|
+
def parse( html )
|
18
|
+
#Results <b>1</b> - <b>8</b> of <b>8</b> from <b>www.google.com</b>
|
19
|
+
hits = html.scan(/<\/b> of <b>(.*)<\/b> from /)
|
20
|
+
if hits.empty? or hits == nil
|
21
|
+
@totalhits = 0
|
22
|
+
else
|
23
|
+
@totalhits = totalhits(hits[0][0].gsub(",","").to_i) unless @was_here
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def crawl_people(text)
|
28
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) -/).each do |profile|
|
29
|
+
pf = profile[0].to_s
|
30
|
+
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+) - Google+/).to_s if pf.match(/\/url\?q=/)
|
31
|
+
p = profile[1].split(" ")
|
32
|
+
@people << [ p, pf ]
|
33
|
+
@results << [p, "P",profile, self.class.to_s.upcase, "N"]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -25,7 +25,7 @@ module ESearchy
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def crawl_people(text)
|
28
|
-
text.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
28
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) -/).each do |profile|
|
29
29
|
pf = profile[0].to_s
|
30
30
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
31
31
|
p = profile[1].split(" ")
|
@@ -25,7 +25,7 @@ module ESearchy
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def crawl_people(text)
|
28
|
-
text.scan(/<a href="(
|
28
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*),/).each do |profile|
|
29
29
|
pf = profile[0].to_s
|
30
30
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
31
31
|
p = profile[1].split(" ")
|
@@ -24,7 +24,7 @@ module ESearchy
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def crawl_people(text)
|
27
|
-
text.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
27
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) \|/).each do |profile|
|
28
28
|
pf = profile[0].to_s
|
29
29
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
30
30
|
p = profile[1].split(" ")
|
@@ -23,7 +23,7 @@ module ESearchy
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def crawl_people(html)
|
26
|
-
html.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
26
|
+
html.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) -/).each do |profile|
|
27
27
|
pf = profile[0].to_s
|
28
28
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
29
29
|
p = profile[1].split(" ").delete_if do
|
@@ -25,7 +25,7 @@ module ESearchy
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def crawl_people(text)
|
28
|
-
text.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
28
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*)'/).each do |profile|
|
29
29
|
pf = profile[0].to_s
|
30
30
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
31
31
|
p = profile[1].split(" ")
|
@@ -24,7 +24,7 @@ module ESearchy
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def crawl_people(text)
|
27
|
-
text.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
27
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*),/).each do |profile|
|
28
28
|
pf = profile[0].to_s
|
29
29
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
30
30
|
p = profile[1].split(" ")
|
@@ -25,7 +25,7 @@ module ESearchy
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def crawl_people(text)
|
28
|
-
text.scan(/<a href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)"
|
28
|
+
text.scan(/<a class="l" href="([0-9A-Za-z:\\\/?&=@+%.;"'()_-]+)" [\sonmousedown="return curwt(this, ']*[0-9A-Za-z:\\\/?&=@+%.;"'()_-]*[')"]*>([\w\s]*) -/).each do |profile|
|
29
29
|
pf = profile[0].to_s
|
30
30
|
pf = pf.scan(/\/url\?q=([0-9A-Za-z:\\\/?=@+%.;"'()_-]+)&/).to_s if pf.match(/\/url\?q=/)
|
31
31
|
p = profile[1].split(" ")
|
data/lib/esearchy/esearchy.rb
CHANGED
@@ -35,7 +35,8 @@ module ESearchy
|
|
35
35
|
|
36
36
|
PEOPLE_ENGINES = {
|
37
37
|
:LinkedIn => ESearchy::SocialEngines::LinkedIn,
|
38
|
-
:GoogleProfiles => ESearchy::SocialEngines::GoogleProfiles,
|
38
|
+
:GoogleProfiles => ESearchy::SocialEngines::GoogleProfiles,
|
39
|
+
:GooglePlus => ESearchy::SocialEngines::GooglePlus,
|
39
40
|
:Naymz => ESearchy::SocialEngines::Naymz,
|
40
41
|
:Classmates => ESearchy::SocialEngines::Classmates,
|
41
42
|
:Spoke => ESearchy::SocialEngines::Spoke,
|
data/lib/esearchy/profiling.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: esearchy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
|
11
|
-
version: 0.2.2.1
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
12
11
|
platform: ruby
|
13
12
|
authors:
|
14
13
|
- Matias P. Brutti
|
@@ -16,7 +15,7 @@ autorequire:
|
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2011-
|
18
|
+
date: 2011-09-08 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: pdf-reader
|
@@ -128,6 +127,7 @@ files:
|
|
128
127
|
- lib/esearchy/SearchEngines/yahoo.rb
|
129
128
|
- lib/esearchy/searchengines.rb
|
130
129
|
- lib/esearchy/SocialEngines/classmates.rb
|
130
|
+
- lib/esearchy/SocialEngines/googleplus.rb
|
131
131
|
- lib/esearchy/SocialEngines/googleprofiles.rb
|
132
132
|
- lib/esearchy/SocialEngines/jigsaw.rb
|
133
133
|
- lib/esearchy/SocialEngines/linkedin.rb
|
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
169
|
requirements: []
|
170
170
|
|
171
171
|
rubyforge_project:
|
172
|
-
rubygems_version: 1.
|
172
|
+
rubygems_version: 1.8.10
|
173
173
|
signing_key:
|
174
174
|
specification_version: 3
|
175
175
|
summary: A library to search for emails in search engines
|