image_downloader 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.rdoc +73 -10
  2. data/lib/image_downloader.rb +1 -1
  3. metadata +35 -35
@@ -1,19 +1,82 @@
1
- = image_downloader
1
+ = Image Downloader
2
2
 
3
- Description goes here.
3
+ Quite often there is a need to collect pictures from one or another page on the Internet. This plugin solves this particular task.
4
4
 
5
- == Contributing to image_downloader
5
+ == Installation
6
+
7
+ sudo gem install image_downloader
8
+
9
+ == Requirements
10
+
11
+ * ruby 1.8 or 1.9
12
+ * gem nokogiri
13
+
14
+ == Description
15
+
16
+ Image Downloader is a rather simple library which does the following:
17
+ * get web page (with Net::HTTP)
18
+ * parse html page (use regexp or nokogiri)
19
+ * download images (in one or multi-threads)
20
+
21
+ == Example usage
22
+ After installation, you can use the following code as an example:
6
23
 
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
- * Fork the project
10
- * Start a feature/bugfix branch
11
- * Commit and push until you are happy with your contribution
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
24
+ require 'rubygems'
25
+ require 'image_downloader'
26
+
27
+ page_url = 'www.test.com'
28
+ target_path = 'img_dir/'
29
+ downloader = ImageDownloader::Process.new(page_url,target_path)
30
+
31
+ #####
32
+ # download all images on page in any place (by regexp, all that look like url with image)
33
+ downloader.parse(:any_looks_like_image => true)
34
+
35
+ #####
36
+ # download images from all elements where usually images placed (<img...>, <a...>, ...)
37
+ downloader.parse()
38
+
39
+ #####
40
+ # download image from exect places in page
41
+ downloader.parse(:collect => {:link_icon => true})
42
+
43
+ downloader.download()
44
+
45
+ For parse method available following options:
46
+ :any_looks_like_image => true
47
+ (find all url which contain image extansion)
48
+
49
+ :collect => {:all => true, :(img_src|a_href|style_url|link_icon) => true}
50
+ (find images in):
51
+ * img_src - <img src="url">
52
+ * a_href - <a href="url">
53
+ * style_url - <element style="(background|background-image): url('url')">
54
+ * link_icon - <link rel="shortcut icon" href="url">
55
+
56
+ :ignore_without => {:(extension|image_extension) => true}
57
+ (ignore URLs with images according to given parameters)
58
+
59
+ == Executables
60
+ You can simply use the executed shell commands:
61
+
62
+ For any looks like image download
63
+ download_any_images url dir/
64
+
65
+ For download favicon only
66
+ download_icon url dir/
67
+
68
+ For download all, that is located in the places for pictures
69
+ download_images url dir/
14
70
 
15
71
  == Copyright
16
72
 
17
73
  Copyright (c) 2011 Malykh Oleg. See LICENSE.txt for
18
74
  further details.
19
75
 
76
+ == License
77
+
78
+ The MIT License
79
+
80
+ == Authors
81
+
82
+ Personal blog author: {Malykh Oleg}[http://malyh.com/] - blog in russian
@@ -36,7 +36,7 @@ module ImageDownloader
36
36
  # :any_looks_like_image => true
37
37
  # :ignore_without => {:(extension|image_extension) => true}
38
38
  # Nokogiri gem is required:
39
- # :collect => {:all => true, :(img_src|a_href|style_url|link_icon) => true},
39
+ # :collect => {:all => true, :(img_src|a_href|style_url|link_icon) => true}
40
40
  def parse(h={:collect => {}, :ignore_without => {}})
41
41
  self.rebuild_collect_hash(h)
42
42
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_downloader
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Malykh Oleg
@@ -19,10 +19,25 @@ date: 2011-07-15 00:00:00 +04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :development
22
+ name: nokogiri
23
23
  prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 15
30
+ segments:
31
+ - 1
32
+ - 4
33
+ - 4
34
+ version: 1.4.4
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
24
38
  name: shoulda
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
26
41
  none: false
27
42
  requirements:
28
43
  - - ">="
@@ -31,12 +46,12 @@ dependencies:
31
46
  segments:
32
47
  - 0
33
48
  version: "0"
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
36
49
  type: :development
37
- prerelease: false
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
38
52
  name: bundler
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
40
55
  none: false
41
56
  requirements:
42
57
  - - ~>
@@ -47,12 +62,12 @@ dependencies:
47
62
  - 0
48
63
  - 0
49
64
  version: 1.0.0
50
- requirement: *id002
51
- - !ruby/object:Gem::Dependency
52
65
  type: :development
53
- prerelease: false
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
54
68
  name: jeweler
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
56
71
  none: false
57
72
  requirements:
58
73
  - - ~>
@@ -63,12 +78,12 @@ dependencies:
63
78
  - 6
64
79
  - 4
65
80
  version: 1.6.4
66
- requirement: *id003
67
- - !ruby/object:Gem::Dependency
68
81
  type: :development
69
- prerelease: false
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
70
84
  name: rcov
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
72
87
  none: false
73
88
  requirements:
74
89
  - - ">="
@@ -77,24 +92,9 @@ dependencies:
77
92
  segments:
78
93
  - 0
79
94
  version: "0"
80
- requirement: *id004
81
- - !ruby/object:Gem::Dependency
82
95
  type: :development
83
- prerelease: false
84
- name: nokogiri
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- hash: 15
91
- segments:
92
- - 1
93
- - 4
94
- - 4
95
- version: 1.4.4
96
- requirement: *id005
97
- description: Detailed description for image-downloader
96
+ version_requirements: *id005
97
+ description: A simple lib for downloading pictures from web pages. It can get and parse page with different options and receive images from specified locations. It is possible to download images simultaneously in multiple threads or sequentially.
98
98
  email: malykholeg@gmail.com
99
99
  executables:
100
100
  - download_any_images
@@ -150,6 +150,6 @@ rubyforge_project:
150
150
  rubygems_version: 1.3.7
151
151
  signing_key:
152
152
  specification_version: 3
153
- summary: Parsing web page, finding images in specified locations and downloading them simultaneously or sequentially
153
+ summary: Lib for parsing web pages to find images in specified locations and downloading them simultaneously or sequentially
154
154
  test_files: []
155
155