tiny_grabber 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|