aranha 0.19.2 → 0.20.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 +4 -4
- data/lib/aranha/address_processor.rb +0 -3
- data/lib/aranha/default_processor.rb +0 -3
- data/lib/aranha/manager.rb +0 -2
- data/lib/aranha/processor.rb +8 -11
- data/lib/aranha/temporary_errors.rb +2 -10
- data/lib/aranha/temporary_errors_manager.rb +0 -3
- data/lib/aranha/version.rb +1 -1
- data/lib/aranha.rb +2 -5
- metadata +18 -46
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 49a69a35d920ea1b314291d3d74847f279f8a72029af3e17e935fd9c91692bfb
|
|
4
|
+
data.tar.gz: '09c2681ec1e610f119a2a13b9bac762d576318e0e61ac79e1ea5cce73f8b6aa5'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 102095275206b4c57ddba036926eb10fb79e1f5e52ac3233e741a8c45afe401db636de0a48ad9f3b3467907bc9f6429fa3c79bc7b36c05f9d5ed3eb20fce5453
|
|
7
|
+
data.tar.gz: 6fa3bd474e1b660adcc548f20d54d29c3190b24606e793d159d6a60bca36c99d204bf9702bddd7dc94478c69da9cd9f4a7e99ded44ad3f164f7d88966fd17cd4
|
data/lib/aranha/manager.rb
CHANGED
data/lib/aranha/processor.rb
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'net/http'
|
|
4
|
-
require 'aranha/parsers/invalid_state_exception'
|
|
5
|
-
require 'aranha/manager'
|
|
6
|
-
|
|
7
3
|
module Aranha
|
|
8
4
|
class Processor
|
|
9
5
|
DEFAULT_MAX_TRIES = 3
|
|
@@ -28,7 +24,7 @@ module Aranha
|
|
|
28
24
|
end
|
|
29
25
|
end
|
|
30
26
|
|
|
31
|
-
def process_next_address
|
|
27
|
+
def process_next_address # rubocop:disable Naming/PredicateMethod
|
|
32
28
|
a = next_address
|
|
33
29
|
if a
|
|
34
30
|
process_address(a)
|
|
@@ -42,8 +38,9 @@ module Aranha
|
|
|
42
38
|
end
|
|
43
39
|
|
|
44
40
|
def process_address(address)
|
|
45
|
-
manager.log_info("Processing #{address} (Try: #{@try}/#{max_tries_s}," \
|
|
46
|
-
|
|
41
|
+
manager.log_info("Processing #{address} (Try: #{@try}/#{max_tries_s}, " \
|
|
42
|
+
"Unprocessed: #{unprocessed.count}" \
|
|
43
|
+
"/#{::Aranha::Manager.default.addresses_count})")
|
|
47
44
|
ap = ::Aranha::AddressProcessor.new(address)
|
|
48
45
|
if ap.successful?
|
|
49
46
|
@failed.delete(ap.address.id)
|
|
@@ -78,10 +75,10 @@ module Aranha
|
|
|
78
75
|
|
|
79
76
|
def max_tries
|
|
80
77
|
@max_tries ||= begin
|
|
81
|
-
r = Integer(ENV
|
|
82
|
-
r
|
|
83
|
-
|
|
84
|
-
|
|
78
|
+
r = Integer(ENV.fetch('ARANHA_MAX_TRIES', nil))
|
|
79
|
+
[r, 0].max
|
|
80
|
+
rescue ArgumentError, TypeError
|
|
81
|
+
DEFAULT_MAX_TRIES
|
|
85
82
|
end
|
|
86
83
|
end
|
|
87
84
|
end
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'aranha/parsers/invalid_state_exception'
|
|
4
|
-
require 'aranha/parsers/source_address/fetch_content_error'
|
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
|
6
|
-
require 'selenium-webdriver'
|
|
7
|
-
|
|
8
3
|
module Aranha
|
|
9
4
|
module TemporaryErrors
|
|
10
|
-
ARANHA_ERRORS = [::Aranha::Parsers::InvalidStateException,
|
|
11
|
-
::Aranha::Parsers::SourceAddress::FetchContentError].freeze
|
|
12
5
|
CORE_ERRORS = [::SocketError].freeze
|
|
13
6
|
ERRNO_ERRORS = [Errno::ECONNREFUSED, ::Errno::ECONNRESET].freeze
|
|
14
|
-
NET_ERRORS = [::Net::HTTPFatalError,
|
|
15
|
-
SELENIUM_ERRORS = [::Selenium::WebDriver::Error::TimeoutError].freeze
|
|
7
|
+
NET_ERRORS = [::Net::HTTPFatalError, Net::HTTPClientException, ::Net::OpenTimeout].freeze
|
|
16
8
|
|
|
17
|
-
ALL_ERRORS =
|
|
9
|
+
ALL_ERRORS = CORE_ERRORS + ERRNO_ERRORS + NET_ERRORS
|
|
18
10
|
|
|
19
11
|
class << self
|
|
20
12
|
def errors
|
data/lib/aranha/version.rb
CHANGED
data/lib/aranha.rb
CHANGED
metadata
CHANGED
|
@@ -1,78 +1,50 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aranha
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.20.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eduardo H. Bogoni
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-07-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: eac_ruby_base1
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
20
|
-
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.18'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: aranha-selenium
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
19
|
+
version: '0.1'
|
|
20
|
+
- - ">="
|
|
32
21
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
22
|
+
version: 0.1.1
|
|
34
23
|
type: :runtime
|
|
35
24
|
prerelease: false
|
|
36
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
26
|
requirements:
|
|
38
27
|
- - "~>"
|
|
39
28
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.
|
|
41
|
-
-
|
|
42
|
-
name: eac_ruby_utils
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0.116'
|
|
48
|
-
type: :runtime
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
29
|
+
version: '0.1'
|
|
30
|
+
- - ">="
|
|
53
31
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
32
|
+
version: 0.1.1
|
|
55
33
|
- !ruby/object:Gem::Dependency
|
|
56
34
|
name: eac_ruby_gem_support
|
|
57
35
|
requirement: !ruby/object:Gem::Requirement
|
|
58
36
|
requirements:
|
|
59
37
|
- - "~>"
|
|
60
38
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0.
|
|
62
|
-
- - ">="
|
|
63
|
-
- !ruby/object:Gem::Version
|
|
64
|
-
version: 0.3.1
|
|
39
|
+
version: '0.14'
|
|
65
40
|
type: :development
|
|
66
41
|
prerelease: false
|
|
67
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
43
|
requirements:
|
|
69
44
|
- - "~>"
|
|
70
45
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: '0.
|
|
72
|
-
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.3.1
|
|
75
|
-
description:
|
|
46
|
+
version: '0.14'
|
|
47
|
+
description:
|
|
76
48
|
email:
|
|
77
49
|
- eduardobogoni@gmail.com
|
|
78
50
|
executables: []
|
|
@@ -89,11 +61,11 @@ files:
|
|
|
89
61
|
- lib/aranha/temporary_errors.rb
|
|
90
62
|
- lib/aranha/temporary_errors_manager.rb
|
|
91
63
|
- lib/aranha/version.rb
|
|
92
|
-
homepage:
|
|
64
|
+
homepage:
|
|
93
65
|
licenses:
|
|
94
66
|
- MIT
|
|
95
67
|
metadata: {}
|
|
96
|
-
post_install_message:
|
|
68
|
+
post_install_message:
|
|
97
69
|
rdoc_options: []
|
|
98
70
|
require_paths:
|
|
99
71
|
- lib
|
|
@@ -101,15 +73,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
101
73
|
requirements:
|
|
102
74
|
- - ">="
|
|
103
75
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: '
|
|
76
|
+
version: '3.2'
|
|
105
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
78
|
requirements:
|
|
107
79
|
- - ">="
|
|
108
80
|
- !ruby/object:Gem::Version
|
|
109
81
|
version: '0'
|
|
110
82
|
requirements: []
|
|
111
|
-
rubygems_version: 3.
|
|
112
|
-
signing_key:
|
|
83
|
+
rubygems_version: 3.4.19
|
|
84
|
+
signing_key:
|
|
113
85
|
specification_version: 4
|
|
114
86
|
summary: Ruby utilities for web crawling.
|
|
115
87
|
test_files: []
|