proxy_pool 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +16 -11
- data/lib/proxy_pool/dealer.rb +9 -3
- data/lib/proxy_pool/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfdca897a821cc17460a3390ae5001b9a5a6d66467a15c11d8b11ecfd3ff1600
|
4
|
+
data.tar.gz: 6738b5666d7b76f845580e990c70d73b3accae13bf910f2a0c73b7bda727c396
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6a7e9af649a85b82278c100092dfff975fa609196e9932866dd38a38e132171fc89f855400f54de24923bb312b327e0219ba30d485404f8c5aa316b71fc26e0
|
7
|
+
data.tar.gz: 4728d8442b1acc9bc51681fb2d04d0add0042a8130963d80d8070cbeaa90d358c814126a70a0d66701d73c599208bab4143c6ca281a6ec808ea0ffc2bbdeadc9
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -20,30 +20,35 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
Require
|
24
24
|
|
25
25
|
```ruby
|
26
26
|
require 'proxy_pool'
|
27
|
-
|
28
|
-
ProxyPool.get_anonymous_proxy
|
29
|
-
=> {"country"=>"RU", "anonymity"=>"high_anonymous", "from"=>"txt", "type"=>"https", "export_address"=>["94.242.58.14", "94.242.58.14"], "port"=>1448, "host"=>"94.242.58.14", "response_time"=>1.7}
|
30
27
|
```
|
31
28
|
|
32
|
-
Get
|
29
|
+
Get proxy randomly:
|
33
30
|
|
34
31
|
```ruby
|
35
|
-
|
32
|
+
ProxyPool.get
|
33
|
+
```
|
36
34
|
|
37
|
-
|
38
|
-
|
35
|
+
Or you can create any condition in block
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
# Select proxy by response time
|
39
|
+
ProxyPool.get { |proxy| proxy['response_time'] < 2 }
|
39
40
|
```
|
40
41
|
|
41
|
-
|
42
|
+
Get high anonymous proxy:
|
42
43
|
|
43
44
|
```ruby
|
44
|
-
|
45
|
+
ProxyPool.get_high_anonymous_proxy
|
46
|
+
```
|
45
47
|
|
46
|
-
|
48
|
+
Get proxy by country
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
ProxyPool.get_by_country('us')
|
47
52
|
```
|
48
53
|
|
49
54
|
## Development
|
data/lib/proxy_pool/dealer.rb
CHANGED
@@ -38,7 +38,11 @@ module ProxyPool
|
|
38
38
|
|
39
39
|
@updated_at = Time.now
|
40
40
|
|
41
|
-
res.body.to_s.split("\n").each
|
41
|
+
res.body.to_s.split("\n").each do |line|
|
42
|
+
_pool_parse(line)
|
43
|
+
rescue ParseError
|
44
|
+
next
|
45
|
+
end
|
42
46
|
end
|
43
47
|
|
44
48
|
# Get a random proxy
|
@@ -83,8 +87,10 @@ module ProxyPool
|
|
83
87
|
# @param line [String]
|
84
88
|
def _pool_parse(line)
|
85
89
|
proxy = JSON.parse(line)
|
86
|
-
|
87
|
-
|
90
|
+
if proxy['anonymity'].nil? ||
|
91
|
+
proxy['type'].nil? ||
|
92
|
+
proxy['country'].nil?
|
93
|
+
raise ParseError
|
88
94
|
end
|
89
95
|
|
90
96
|
@pools << proxy
|
data/lib/proxy_pool/version.rb
CHANGED