vore 0.2.5-x86_64-linux → 0.2.8-x86_64-linux
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/vore-spider +0 -0
- data/lib/vore/crawler.rb +22 -9
- data/lib/vore/handlers/content_extractor.rb +0 -1
- data/lib/vore/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: 322dfb93cbfeae7bdf008ed00e0c7ac67affa00d787bd18fc483c3fe583c9215
|
4
|
+
data.tar.gz: d96c5a555ae20af0c4c967539256a528b8914c49ffe3322fc286d3f7684c1355
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc438087f76029e4af3a9a28f25ac35800b72022299c63ecb57b3ddfccc96e17c625cad4a02d7e7209d7ac2123efa235163eb5bfa74f75d7105592c83dbc32db
|
7
|
+
data.tar.gz: 2874256c99d57c2269e04b604e716c00f3eba0bb7c287f11a2b96f5f0a58bd812a9d1740da419839c0e1000e96bea36c8f4e4bc130700ddb07293c3c9ecb26e5
|
data/exe/vore-spider
CHANGED
Binary file
|
data/lib/vore/crawler.rb
CHANGED
@@ -8,6 +8,8 @@ module Vore
|
|
8
8
|
PLATFORM = [:cpu, :os].map { |m| Gem::Platform.local.send(m) }.join("-")
|
9
9
|
FILE_SEPERATOR = PLATFORM.include?("windows") ? File::ALT_SEPARATOR : File::SEPARATOR
|
10
10
|
|
11
|
+
attr_reader :output_dir
|
12
|
+
|
11
13
|
# Creates a crawler
|
12
14
|
# denylist: Sets a denylist filter, allows a regexp, string or array of either to be matched.
|
13
15
|
def initialize(denylist: /a^/, sanitization_config: Vole::Configuration::DEFAULT_SANITIZATION_CONFIG)
|
@@ -26,16 +28,10 @@ module Vore
|
|
26
28
|
end
|
27
29
|
|
28
30
|
def scrape_each_page(website, &block)
|
29
|
-
output_dir = "#{@parent_output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
|
31
|
+
@output_dir = "#{@parent_output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
|
30
32
|
Vore.logger.info("Vore started crawling #{website}, outputting to #{output_dir}")
|
31
33
|
|
32
|
-
output =
|
33
|
-
--user-agent #{user_agent} \
|
34
|
-
--delay 3500 \
|
35
|
-
--url #{website} \
|
36
|
-
download \
|
37
|
-
-t \
|
38
|
-
#{output_dir})
|
34
|
+
output = run_command(website, @output_dir)
|
39
35
|
|
40
36
|
Vore.logger.info("Vore finished crawling #{website}: #{output}")
|
41
37
|
|
@@ -51,6 +47,7 @@ module Vore
|
|
51
47
|
results[:pages_visited] += 1
|
52
48
|
|
53
49
|
html_file = File.read(path).force_encoding("UTF-8")
|
50
|
+
rewritten_html_file = ""
|
54
51
|
|
55
52
|
if html_file.empty?
|
56
53
|
results[:pages_unprocessed] += 1
|
@@ -58,7 +55,13 @@ module Vore
|
|
58
55
|
next
|
59
56
|
end
|
60
57
|
|
61
|
-
|
58
|
+
begin
|
59
|
+
rewritten_html_file = @selma.rewrite(html_file)
|
60
|
+
rescue StandardError => e
|
61
|
+
Vore.logger.warn("Error rewriting #{path}: #{e}")
|
62
|
+
results[:pages_unprocessed] += 1
|
63
|
+
next
|
64
|
+
end
|
62
65
|
|
63
66
|
# drops the first 3 parts of the path, which are "tmp", "vore", and the site name
|
64
67
|
url_path = path.split(FILE_SEPERATOR)[3..].join("/")
|
@@ -83,6 +86,16 @@ module Vore
|
|
83
86
|
# crawl_site(site)
|
84
87
|
# end
|
85
88
|
|
89
|
+
def run_command(website, output_dir)
|
90
|
+
%x(#{@executable} \
|
91
|
+
--user-agent #{user_agent} \
|
92
|
+
--delay 3500 \
|
93
|
+
--url #{website} \
|
94
|
+
download \
|
95
|
+
-t \
|
96
|
+
#{output_dir})
|
97
|
+
end
|
98
|
+
|
86
99
|
def user_agent
|
87
100
|
"'Mozilla/5.0 (compatible; Vore/#{Vore::VERSION}; +https://github.com/gjtorikian/vore)'"
|
88
101
|
end
|
data/lib/vore/version.rb
CHANGED