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.
- checksums.yaml +7 -0
- data/lib/easy_captcha_solver.rb +34 -0
- 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: []
|