grabzit 3.3.4.1 → 3.3.5
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 +5 -5
- data/lib/grabzit/client.rb +42 -0
- data/lib/grabzit/htmloptions.rb +161 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5da69eddc38e96180e23be4dba32f6385c2b91e7d255ef8118d87d19b0a8933a
|
4
|
+
data.tar.gz: 6b9cc4715644808114913bf3887f2090ae53a05f15e0bdb720799ce48588a01a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8891fd909276778b78ba6d177779ed4db9e6a8a1cace9c2120a92859d53a3622366d1e71828cb4bc6eca9f6ab355e886dd5681bc6c5309dd4f0a36cd5b5247c2
|
7
|
+
data.tar.gz: 6901c0f929e3676f90f448d40ad6c929d84bc8bf90c6d408d5e778d4af26af0905e5ac1712bcbd60c716a9008ce1045451bfe2e12bb25b60fb7c903e11b1e259
|
data/lib/grabzit/client.rb
CHANGED
@@ -16,6 +16,7 @@ module GrabzIt
|
|
16
16
|
require File.join(File.dirname(__FILE__), 'exception')
|
17
17
|
require File.join(File.dirname(__FILE__), 'animationoptions')
|
18
18
|
require File.join(File.dirname(__FILE__), 'imageoptions')
|
19
|
+
require File.join(File.dirname(__FILE__), 'htmloptions')
|
19
20
|
require File.join(File.dirname(__FILE__), 'tableoptions')
|
20
21
|
require File.join(File.dirname(__FILE__), 'pdfoptions')
|
21
22
|
require File.join(File.dirname(__FILE__), 'docxoptions')
|
@@ -46,6 +47,8 @@ module GrabzIt
|
|
46
47
|
private_constant :TakePDF
|
47
48
|
TakeDOCX = "takedocx.ashx"
|
48
49
|
private_constant :TakeDOCX
|
50
|
+
TakeHTML = "takehtml.ashx"
|
51
|
+
private_constant :TakeHTML
|
49
52
|
TrueString = "True"
|
50
53
|
private_constant :TrueString
|
51
54
|
|
@@ -114,6 +117,45 @@ module GrabzIt
|
|
114
117
|
def file_to_image(path, options = nil)
|
115
118
|
html_to_image(read_file(path), options)
|
116
119
|
end
|
120
|
+
|
121
|
+
# This method specifies the URL that should be converted into rendered HTML
|
122
|
+
#
|
123
|
+
# @param url [String] the URL to capture as rendered HTML
|
124
|
+
# @param options [HTMLOptions, nil] a instance of the HTMLOptions class that defines any special options to use when creating the rendered HTML
|
125
|
+
# @return [void]
|
126
|
+
def url_to_rendered_html(url, options = nil)
|
127
|
+
|
128
|
+
if options == nil
|
129
|
+
options = HTMLOptions.new()
|
130
|
+
end
|
131
|
+
|
132
|
+
@request = Request.new(@protocol + WebServicesBaseURLGet + TakeHTML, false, options, url)
|
133
|
+
return nil
|
134
|
+
end
|
135
|
+
|
136
|
+
# This method specifies the HTML that should be converted into rendered HTML
|
137
|
+
#
|
138
|
+
# @param html [String] the HTML to convert into rendered HTML
|
139
|
+
# @param options [HTMLOptions, nil] a instance of the HTMLOptions class that defines any special options to use when creating the rendered HTML
|
140
|
+
# @return [void]
|
141
|
+
def html_to_rendered_html(html, options = nil)
|
142
|
+
|
143
|
+
if options == nil
|
144
|
+
options = HTMLOptions.new()
|
145
|
+
end
|
146
|
+
|
147
|
+
@request = Request.new(@protocol + WebServicesBaseURLPost + TakeHTML, true, options, html)
|
148
|
+
return nil
|
149
|
+
end
|
150
|
+
|
151
|
+
# This method specifies a HTML file that should be converted into rendered HTML
|
152
|
+
#
|
153
|
+
# @param path [String] the file path of a HTML file to convert into rendered HTML
|
154
|
+
# @param options [HTMLOptions, nil] a instance of the HTMLOptions class that defines any special options to use when creating rendered HTML
|
155
|
+
# @return [void]
|
156
|
+
def file_to_rendered_html(path, options = nil)
|
157
|
+
html_to_rendered_html(read_file(path), options)
|
158
|
+
end
|
117
159
|
|
118
160
|
# This method specifies the URL that the HTML tables should be extracted from
|
119
161
|
#
|
@@ -0,0 +1,161 @@
|
|
1
|
+
module GrabzIt
|
2
|
+
require File.join(File.dirname(__FILE__), 'baseoptions')
|
3
|
+
|
4
|
+
# Represents all of the options available when creating rendered HTML
|
5
|
+
# @version 3.0
|
6
|
+
# @author GrabzIt
|
7
|
+
class HTMLOptions < BaseOptions
|
8
|
+
def initialize()
|
9
|
+
super()
|
10
|
+
@browserWidth = nil
|
11
|
+
@browserHeight = nil
|
12
|
+
@waitForElement = nil
|
13
|
+
@requestAs = 0
|
14
|
+
@noAds = false
|
15
|
+
@noCookieNotifications = false
|
16
|
+
@address = nil
|
17
|
+
end
|
18
|
+
|
19
|
+
# @return [Integer] the width of the browser in pixels
|
20
|
+
def browserWidth
|
21
|
+
@browserWidth
|
22
|
+
end
|
23
|
+
|
24
|
+
# Set the width of the browser in pixels
|
25
|
+
#
|
26
|
+
# @param value [Integer] the browser width
|
27
|
+
# @return [void]
|
28
|
+
def browserWidth=(value)
|
29
|
+
@browserWidth = value
|
30
|
+
end
|
31
|
+
|
32
|
+
# @return [Integer] the height of the browser in pixels
|
33
|
+
def browserHeight
|
34
|
+
@browserHeight
|
35
|
+
end
|
36
|
+
|
37
|
+
# Set the height of the browser in pixels. Use -1 to screenshot the whole web page
|
38
|
+
#
|
39
|
+
# @param value [Integer] the browser height
|
40
|
+
# @return [void]
|
41
|
+
def browserHeight=(value)
|
42
|
+
@browserHeight = value
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [Integer] get the number of milliseconds to wait before creating the capture
|
46
|
+
def delay
|
47
|
+
@delay
|
48
|
+
end
|
49
|
+
|
50
|
+
# Set the number of milliseconds to wait before creating the capture
|
51
|
+
#
|
52
|
+
# @param value [Integer] the delay
|
53
|
+
# @return [void]
|
54
|
+
def delay=(value)
|
55
|
+
@delay = value
|
56
|
+
end
|
57
|
+
|
58
|
+
# @return [String] get the CSS selector of the HTML element in the web page that must be visible before the capture is performed
|
59
|
+
def waitForElement
|
60
|
+
@waitForElement
|
61
|
+
end
|
62
|
+
|
63
|
+
# Set the CSS selector of the HTML element in the web page that must be visible before the capture is performed
|
64
|
+
#
|
65
|
+
# @param value [String] the element to wait for
|
66
|
+
# @return [void]
|
67
|
+
def waitForElement=(value)
|
68
|
+
@waitForElement = value
|
69
|
+
end
|
70
|
+
|
71
|
+
# @return [Integer] get which user agent type should be used
|
72
|
+
def requestAs
|
73
|
+
@requestAs
|
74
|
+
end
|
75
|
+
|
76
|
+
# Set which user agent type should be used: Standard Browser = 0, Mobile Browser = 1, Search Engine = 2 and Fallback Browser = 3
|
77
|
+
#
|
78
|
+
# @param value [Integer] the browser type
|
79
|
+
# @return [void]
|
80
|
+
def requestAs=(value)
|
81
|
+
@requestAs = value
|
82
|
+
end
|
83
|
+
|
84
|
+
# @return [Boolean] get if adverts should be automatically hidden
|
85
|
+
def noAds
|
86
|
+
@noAds
|
87
|
+
end
|
88
|
+
|
89
|
+
# Set to true if adverts should be automatically hidden
|
90
|
+
#
|
91
|
+
# @param value [Boolean] hide adverts
|
92
|
+
# @return [void]
|
93
|
+
def noAds=(value)
|
94
|
+
@noAds = value
|
95
|
+
end
|
96
|
+
|
97
|
+
# @return [Boolean] get if cookie notifications should be automatically hidden
|
98
|
+
def noCookieNotifications
|
99
|
+
@noCookieNotifications
|
100
|
+
end
|
101
|
+
|
102
|
+
# Set to true if cookie notifications should be automatically hidden
|
103
|
+
#
|
104
|
+
# @param value [Boolean] hide cookie notifications
|
105
|
+
# @return [void]
|
106
|
+
def noCookieNotifications=(value)
|
107
|
+
@noCookieNotifications = value
|
108
|
+
end
|
109
|
+
|
110
|
+
# @return [String] get the URL to execute the HTML code in
|
111
|
+
def address
|
112
|
+
@address
|
113
|
+
end
|
114
|
+
|
115
|
+
# Set the URL to execute the HTML code in
|
116
|
+
#
|
117
|
+
# @param value [String] the address
|
118
|
+
# @return [void]
|
119
|
+
def address=(value)
|
120
|
+
@address = value
|
121
|
+
end
|
122
|
+
|
123
|
+
# Define a HTTP Post parameter and optionally value, this method can be called multiple times to add multiple parameters. Using this method will force
|
124
|
+
# GrabzIt to perform a HTTP post.
|
125
|
+
#
|
126
|
+
# @param name [String] the name of the HTTP Post parameter
|
127
|
+
# @param value [String] the value of the HTTP Post parameter
|
128
|
+
def add_post_parameter(name, value)
|
129
|
+
@post = appendParameter(@post, name, value)
|
130
|
+
end
|
131
|
+
|
132
|
+
# @!visibility private
|
133
|
+
def _getSignatureString(applicationSecret, callBackURL, url = nil)
|
134
|
+
items = [applicationSecret]
|
135
|
+
|
136
|
+
if(url != nil)
|
137
|
+
items.push(GrabzIt::Utility.nil_check(url))
|
138
|
+
end
|
139
|
+
|
140
|
+
items.push(GrabzIt::Utility.nil_check(callBackURL),GrabzIt::Utility.nil_int_check(@browserHeight),GrabzIt::Utility.nil_int_check(@browserWidth),GrabzIt::Utility.nil_check(@customId),GrabzIt::Utility.nil_int_check(@delay),GrabzIt::Utility.nil_int_check(@requestAs),GrabzIt::Utility.nil_check(@country),GrabzIt::Utility.nil_check(@exportURL),GrabzIt::Utility.nil_check(@waitForElement),GrabzIt::Utility.nil_check(@encryptionKey),GrabzIt::Utility.b_to_str(@noAds),GrabzIt::Utility.nil_check(@post),GrabzIt::Utility.nil_check(@proxy),GrabzIt::Utility.nil_check(@address),GrabzIt::Utility.b_to_str(@noCookieNotifications))
|
141
|
+
|
142
|
+
return items.join("|")
|
143
|
+
end
|
144
|
+
|
145
|
+
# @!visibility private
|
146
|
+
def _getParameters(applicationKey, sig, callBackURL, dataName, dataValue)
|
147
|
+
params = createParameters(applicationKey, sig, callBackURL, dataName, dataValue)
|
148
|
+
params['bwidth'] = GrabzIt::Utility.nil_int_check(@browserWidth)
|
149
|
+
params['bheight'] = GrabzIt::Utility.nil_int_check(@browserHeight)
|
150
|
+
params['delay'] = GrabzIt::Utility.nil_int_check(@delay)
|
151
|
+
params['waitfor'] = GrabzIt::Utility.nil_check(@waitForElement)
|
152
|
+
params['requestmobileversion'] = GrabzIt::Utility.nil_int_check(@requestAs)
|
153
|
+
params['noads'] = GrabzIt::Utility.b_to_str(@noAds)
|
154
|
+
params['post'] = GrabzIt::Utility.nil_check(@post)
|
155
|
+
params['address'] = GrabzIt::Utility.nil_check(@address)
|
156
|
+
params['nonotify'] = GrabzIt::Utility.b_to_str(@noCookieNotifications)
|
157
|
+
|
158
|
+
return params
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grabzit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GrabzIt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -42,6 +42,7 @@ files:
|
|
42
42
|
- lib/grabzit/cookie.rb
|
43
43
|
- lib/grabzit/docxoptions.rb
|
44
44
|
- lib/grabzit/exception.rb
|
45
|
+
- lib/grabzit/htmloptions.rb
|
45
46
|
- lib/grabzit/imageoptions.rb
|
46
47
|
- lib/grabzit/pdfoptions.rb
|
47
48
|
- lib/grabzit/proxy.rb
|
@@ -71,8 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
72
|
- !ruby/object:Gem::Version
|
72
73
|
version: '0'
|
73
74
|
requirements: []
|
74
|
-
|
75
|
-
rubygems_version: 2.4.5.2
|
75
|
+
rubygems_version: 3.0.3
|
76
76
|
signing_key:
|
77
77
|
specification_version: 4
|
78
78
|
summary: GrabzIt Ruby Client
|