tiny_grabber 0.2.2 → 0.2.3
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/README.md +36 -7
- data/lib/tiny_grabber/agent.rb +1 -0
- data/lib/tiny_grabber/version.rb +1 -1
- data/lib/tiny_grabber.rb +0 -1
- data/tiny_grabber.gemspec +0 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01ead8ec986585c6df273a78246e8097d340eac4
|
4
|
+
data.tar.gz: 55293af4fa2233e1a38dbeedad00dd53047e6c85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c38612a2e091c01d1eb0ea7f821ad32edbbb1dad41f73764b4998a546bf164029522a29492321288537381693b3b5bfdee88dde4703f23d3dca7090be7d0d836
|
7
|
+
data.tar.gz: 493d4486aac4ef7fa111cbcc96df48165f19b6e3b053b6deabb651224a0ba420894690ea77e76277a35a367153775b710d05fefd6b930480358f750b5e3c19f6
|
data/README.md
CHANGED
@@ -27,78 +27,107 @@ Or install it yourself as:
|
|
27
27
|
|
28
28
|
require 'tiny_grabber'
|
29
29
|
|
30
|
+
|
31
|
+
# Initialize request setting
|
32
|
+
|
33
|
+
# Set request timelive
|
30
34
|
read_timeout = 300
|
35
|
+
# You can set own UserAgent, but by default each request get random UserAgent from list of most popular
|
31
36
|
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36'
|
37
|
+
# Set proxy for concealment your real IP
|
32
38
|
proxy = { ip: 'xx.xx.xx.xx', port: 'xxxx' }
|
33
|
-
|
34
|
-
|
39
|
+
# Set Net::HTTP headers
|
40
|
+
headers = { 'Content-Type' => 'text/html; charset=utf-8' }
|
41
|
+
# You can set own cookies like String
|
35
42
|
cookies = 'username=username&password=password'
|
43
|
+
# or Hash
|
44
|
+
cookies = { username: 'username', password: 'password' }
|
45
|
+
# For POST request you can set DATAS
|
36
46
|
params = { key: 'value' }
|
37
47
|
|
38
48
|
# Initialize TinyGrabber object
|
39
49
|
tg = TinyGrabber.new
|
50
|
+
|
40
51
|
# Set debug flag for view log information
|
41
52
|
tg.debug = true
|
53
|
+
|
42
54
|
# Or set debug configuration
|
43
55
|
# active - flag to save log information
|
44
56
|
# destination - save log to file or print: [:file, :print]
|
45
57
|
# save_html - flag to save response html to file
|
46
58
|
tg.debug = { active: true, destination: :file, save_html: true }
|
59
|
+
|
47
60
|
# Set max time to execute request
|
48
61
|
tg.read_timeout = read_timeout
|
62
|
+
|
49
63
|
# Set web browser name
|
50
64
|
tg.user_agent = user_agent
|
65
|
+
|
51
66
|
# Set proxy configuration
|
52
67
|
tg.proxy = proxy
|
68
|
+
|
53
69
|
# Set basic authentification
|
54
70
|
tg.basic_auth('username', 'password')
|
71
|
+
|
55
72
|
# Set HTTP headers
|
56
|
-
tg.headers =
|
73
|
+
tg.headers = headers
|
74
|
+
|
57
75
|
# Set HTTP cookies
|
58
76
|
tg.cookies = cookies
|
59
77
|
|
78
|
+
|
79
|
+
# Make request
|
80
|
+
|
60
81
|
# Make response with GET method
|
61
82
|
response = tg.get 'https://whoer.net/ru', headers
|
83
|
+
|
62
84
|
# Reset headers and cookies
|
63
85
|
tg.reset
|
86
|
+
|
64
87
|
# Make response with POST method
|
65
88
|
response = tg.post 'https://whoer.net/ru', params, headers
|
66
89
|
|
67
|
-
|
68
90
|
# Make singleton response with GET method
|
69
91
|
response = TinyGrabber.get 'https://whoer.net/ru', { debug = true, read_timeout = read_timeout ... }
|
92
|
+
|
70
93
|
# Make singleton response with POST method
|
71
94
|
response = TinyGrabber.post 'https://whoer.net/ru', params, { debug = true, read_timeout = read_timeout ... }
|
72
95
|
|
96
|
+
|
97
|
+
# Get response
|
98
|
+
|
73
99
|
# Get Nokogiri object from response HTML
|
74
100
|
ng = response.ng
|
101
|
+
|
75
102
|
# Get HTTP response code
|
76
103
|
response.code
|
104
|
+
|
77
105
|
# Get response cookies
|
78
106
|
response.cookies
|
107
|
+
|
79
108
|
# Get response headers
|
80
109
|
response.headers
|
110
|
+
|
81
111
|
# Get response HTML
|
82
112
|
response.body
|
83
113
|
```
|
84
114
|
|
85
115
|
## Changelog
|
86
116
|
|
117
|
+
* *v 0.2.3*
|
118
|
+
* The feature to set cookies in the form of a Hash is added
|
87
119
|
* *v 0.2.2*
|
88
120
|
* Added debug configurations.
|
89
|
-
|
90
121
|
* *v 0.2.1*
|
91
122
|
* Setting random user_agent from list if it not seted
|
92
123
|
* Remove headers attribute from singleton methods
|
93
124
|
* Remove header transfer-encoding for chain requests
|
94
125
|
* Add reset method for delete headers and cookies
|
95
|
-
|
96
126
|
* *v 0.2.0*
|
97
127
|
* Now there is an opportunity to create object TinyGrabber
|
98
128
|
* Change order of parameters for singleton request
|
99
129
|
* Add response cookies and headers
|
100
130
|
* Add debug flag for detilazition log and save result HTML to /log/*.html file
|
101
|
-
|
102
131
|
* *v 0.1.1*
|
103
132
|
* Save cookie in Redis
|
104
133
|
* *v 0.1.0*
|
data/lib/tiny_grabber/agent.rb
CHANGED
@@ -138,6 +138,7 @@ class TinyGrabber::Agent
|
|
138
138
|
# @param cookies Request cookies
|
139
139
|
#
|
140
140
|
def cookies= cookies
|
141
|
+
cookies = cookies.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join('&') if cookies.is_a?(Hash)
|
141
142
|
fail 'attribute cookies must be String' unless cookies.is_a?(String)
|
142
143
|
@cookies = cookies
|
143
144
|
end
|
data/lib/tiny_grabber/version.rb
CHANGED
data/lib/tiny_grabber.rb
CHANGED
data/tiny_grabber.gemspec
CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_runtime_dependency 'socksify', '~> 1.7'
|
24
24
|
spec.add_runtime_dependency 'nokogiri', '~> 1.6'
|
25
|
-
spec.add_runtime_dependency 'redis', '~> 3.3'
|
26
25
|
|
27
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
28
27
|
spec.add_development_dependency 'bundler', '~> 1.11'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiny_grabber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksandr Chernyshev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: socksify
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.6'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: redis
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.3'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.3'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rake
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|