easy_captcha_solver 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/easy_captcha_solver.rb +34 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a9d98f79befff99d720a852eb0050f8011c4c64e
4
+ data.tar.gz: f9bfdedbbc0d214f84061eb60d31729d37f89283
5
+ SHA512:
6
+ metadata.gz: 8f3dc714a88f7ab0393dd9a5513626b9349cfe911374816914d3ba6186e133df40b2991ab032df3b659840c9ca07a010ca89a1337ad15d254b1d95fbf8023d58
7
+ data.tar.gz: 2679550dcfb02a62095443379c68e2abd8202279994fb503d7eed7b8dad337605e7f4f13a75ed5c68df84fd88c49792c0547e43bb0a85669e8a9cc6b4fb4b12e
@@ -0,0 +1,34 @@
1
+ require 'mechanize'
2
+ require 'tesseract-ocr'
3
+
4
+ class EasyCaptchaSolver
5
+ attr_reader :captcha
6
+
7
+ def initialize ( options = {} )
8
+ # Mechanize initializacion, pretends to be Mac Safari
9
+ agent = Mechanize.new { |agent|
10
+ agent.user_agent_alias = 'Mac Safari'
11
+ }
12
+
13
+ @image = options[:image_path] if options[:image_path]
14
+ @image = agent.get(options[:image_url]).body if options[:image_url]
15
+ unless @image
16
+ throw Exception.new "A local image path or a image URL must be provided. Example: easy_c = EasyCaptcha.new( image_url: 'http://www.example.com/captcha_img.jpg')"
17
+ end
18
+
19
+ solve_captcha
20
+ end
21
+
22
+ private
23
+
24
+ def solve_captcha()
25
+ # Solve captcha using Tesseract-ocr
26
+ e = Tesseract::Engine.new {|e|
27
+ e.language = :eng
28
+ e.blacklist = '|'
29
+ }
30
+ @captcha = e.text_for(@image).strip # => 'ABC'
31
+ end
32
+ end
33
+
34
+
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: easy_captcha_solver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Alex Rodriguez
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mechanize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 2.7.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.7.3
27
+ description: A captcha solver (only for easy ones) gem
28
+ email:
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/easy_captcha_solver.rb
34
+ homepage: http://rubygems.org/gems/easy_captcha_solver
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.1.11
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: Easy Captcha Solver
58
+ test_files: []