easy_captcha_solver 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []