vore 0.2.6-x86_64-linux → 0.3.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53cb93bee6f3736369589c1eaaf7b739ca6f898e814d33d4ff747f4daa2077fc
4
- data.tar.gz: 100cf434502ce236ce6f31aa24c110ed43274043f1ea7a678f4cad9905079e7a
3
+ metadata.gz: 5fa0065651385809a53579488f9985cc3332197d4fa9818508859bb24274a16b
4
+ data.tar.gz: a0754878a08d651215dd5df40220e3002255ef65fedcb365e0605ff228db27fd
5
5
  SHA512:
6
- metadata.gz: b66ad8d522524716bc1f5a904b428934ef5006916cad623893301569afcfd7b255c021d1bc3f1205cd757365a165b6b88dfe278e9979aba4d900fc913f074d73
7
- data.tar.gz: 9e176c95395e40503fc8a5af9f014a5befc37a63d04b71a0d64549be100700b92abbb439f57be4ab4699a3543ad2ca32203095b83e402774b35e70ae58d6cde2
6
+ metadata.gz: 48298f9bf6de3e76b443a4ea46fa0adc687e4a39b90fc94ae6a97e0ce0153c6e983e292af0c8d6a53dcb44e94b8ecba94f8adc75fe5ce8cd7857e947ab113795
7
+ data.tar.gz: 404712a662f24fff36346998e791cfac7c9ac44661005209f0a2a65b38146f0233dfcdc9cfc115c5772340d310d085dbadbca8766201fad810843359ccff1c98
data/exe/vore-spider CHANGED
Binary file
@@ -5,5 +5,9 @@ module Vole
5
5
  DEFAULT_SANITIZATION_CONFIG = Selma::Sanitizer::Config::RELAXED.dup.merge({
6
6
  allow_doctype: false,
7
7
  })
8
+
9
+ DEFAULT_OPTIONS = {
10
+ delay: 3500,
11
+ }
8
12
  end
9
13
  end
data/lib/vore/crawler.rb CHANGED
@@ -8,9 +8,11 @@ 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
- def initialize(denylist: /a^/, sanitization_config: Vole::Configuration::DEFAULT_SANITIZATION_CONFIG)
15
+ def initialize(denylist: /a^/, sanitization_config: Vole::Configuration::DEFAULT_SANITIZATION_CONFIG, options: Vole::Configuration::DEFAULT_OPTIONS)
14
16
  @denylist_regexp = Regexp.union(denylist)
15
17
 
16
18
  @content_extractor = Vole::Handlers::ContentExtractor.new
@@ -18,6 +20,7 @@ module Vore
18
20
  ext = PLATFORM.include?("windows") ? ".exe" : ""
19
21
  @executable = File.expand_path([__FILE__, "..", "..", "..", "exe", "vore-spider#{ext}"].join(FILE_SEPERATOR))
20
22
  @parent_output_dir = "tmp/vore"
23
+ @options = options
21
24
 
22
25
  return if File.exist?(@executable)
23
26
 
@@ -26,16 +29,10 @@ module Vore
26
29
  end
27
30
 
28
31
  def scrape_each_page(website, &block)
29
- output_dir = "#{@parent_output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
32
+ @output_dir = "#{@parent_output_dir}/#{website.gsub(/[^a-zA-Z0-9]/, "_").squeeze("_")}"
30
33
  Vore.logger.info("Vore started crawling #{website}, outputting to #{output_dir}")
31
34
 
32
- output = %x(#{@executable} \
33
- --user-agent #{user_agent} \
34
- --delay 3500 \
35
- --url #{website} \
36
- download \
37
- -t \
38
- #{output_dir})
35
+ output = run_command(website, delay: @options[:delay])
39
36
 
40
37
  Vore.logger.info("Vore finished crawling #{website}: #{output}")
41
38
 
@@ -54,7 +51,6 @@ module Vore
54
51
  rewritten_html_file = ""
55
52
 
56
53
  if html_file.empty?
57
- Vore.logger.warn("HTML file empty: #{path}")
58
54
  results[:pages_unprocessed] += 1
59
55
  results[:unprocessed_pages] << path
60
56
  next
@@ -91,6 +87,16 @@ module Vore
91
87
  # crawl_site(site)
92
88
  # end
93
89
 
90
+ def run_command(website, delay: 3500)
91
+ %x(#{@executable} \
92
+ --user-agent #{user_agent} \
93
+ --delay #{delay} \
94
+ --url #{website} \
95
+ download \
96
+ -t \
97
+ #{@output_dir})
98
+ end
99
+
94
100
  def user_agent
95
101
  "'Mozilla/5.0 (compatible; Vore/#{Vore::VERSION}; +https://github.com/gjtorikian/vore)'"
96
102
  end
@@ -20,7 +20,6 @@ module Vole
20
20
 
21
21
  def handle_element(element)
22
22
  if element.tag_name == "pre" ||
23
- element.tag_name == "code" ||
24
23
  element.tag_name == "form" ||
25
24
  element.tag_name == "style" ||
26
25
  element.tag_name == "noscript" ||
data/lib/vore/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Vore
4
- VERSION = "0.2.6"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.3.0
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Garen J. Torikian