zyte-client 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/zyte-client.rb +38 -0
  3. data/zyte-client.gemspec +24 -0
  4. metadata +184 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2a2b4a3b6ca42c5010f458bc651f0ce3ca8d580b028c9fcb05d0cce3aaa3b00d
4
+ data.tar.gz: 70f540b7f11c4aead04da61dfacab708fd020f3ac7189482692502f3b6245dac
5
+ SHA512:
6
+ metadata.gz: 46ff9e8ba93a674204b8e1f2ccd1a92c5a51b50128683dff7fe5fb8ec87dadcb9f4bba3ebe91cc8deb8d4b07d259ad88aef62615ec076a57f3bcf929925858b8
7
+ data.tar.gz: 0fd1655f789b9eb9b3d644a179042f41796e2e7dbd1a0fbe89995b438bf8ad72673d3f5f8adea8b17ae75844d60ed04593720f2601d9642567d9fa9e5c671dd8
@@ -0,0 +1,38 @@
1
+ require 'uri'
2
+ require 'net/http'
3
+ require 'json'
4
+ require 'blackstack-core'
5
+ #require 'selenium-webdriver'
6
+ #require 'watir'
7
+
8
+ class ZyteClient
9
+ attr_accessor :key
10
+
11
+ def initialize(h={})
12
+ self.key = h[:key] # mandatory
13
+ end
14
+
15
+ def extract(url)
16
+ input = "{
17
+ \"url\": \"#{url}\",
18
+ \"httpResponseBody\": true
19
+ }
20
+ "
21
+
22
+ File.open('zyte.input.json', 'w') { |file| file.write(input) }
23
+
24
+ ret = `curl \
25
+ --silent \
26
+ --user #{self.key}: \
27
+ --header 'Content-Type: application/json' \
28
+ --data @zyte.input.json \
29
+ --compressed \
30
+ https://api.zyte.com/v1/extract \
31
+ | jq --raw-output .httpResponseBody \
32
+ | base64 --decode \
33
+ `
34
+
35
+ return ret
36
+ end # def zyte
37
+
38
+ end # class ZyteClient
@@ -0,0 +1,24 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'zyte-client'
3
+ s.version = '1.0.1'
4
+ s.date = '2023-12-08'
5
+ s.summary = "Ruby library for operating Zyte API."
6
+ s.description = "Ruby library for operating Zyte API."
7
+ s.authors = ["Leandro Daniel Sardi"]
8
+ s.email = 'leandro@connectionsphere.com'
9
+ s.files = [
10
+ 'lib/zyte-client.rb',
11
+ 'zyte-client.gemspec'
12
+ ]
13
+ s.homepage = 'https://github.com/leandrosardi/zyte-client'
14
+ s.license = 'MIT'
15
+ s.add_runtime_dependency 'uri', '~> 0.12.2', '>= 0.12.2'
16
+ s.add_runtime_dependency 'net-http', '~> 0.2.0', '>= 0.2.0'
17
+ s.add_runtime_dependency 'json', '~> 2.6.3', '>= 2.6.3'
18
+ s.add_runtime_dependency 'blackstack-core', '~> 1.2.15', '>= 1.2.15'
19
+ #s.add_runtime_dependency 'selenium-webdriver', '~> 4.10.0', '>= 4.10.0'
20
+ #s.add_runtime_dependency 'watir', '~> 7.3.0', '>= 7.3.0'
21
+ s.add_runtime_dependency 'sequel', '~> 5.75.0', '>= 5.75.0'
22
+ s.add_runtime_dependency 'colorize', '~> 1.1.0', '>= 1.1.0'
23
+ s.add_runtime_dependency 'simple_cloud_logging', '~> 1.2.2', '>= 1.2.2'
24
+ end
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zyte-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Leandro Daniel Sardi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-12-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: uri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.12.2
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.12.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.12.2
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.12.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: net-http
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 0.2.0
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.2.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 0.2.0
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.2.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: json
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 2.6.3
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.6.3
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 2.6.3
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 2.6.3
73
+ - !ruby/object:Gem::Dependency
74
+ name: blackstack-core
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 1.2.15
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 1.2.15
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.2.15
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 1.2.15
93
+ - !ruby/object:Gem::Dependency
94
+ name: sequel
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 5.75.0
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 5.75.0
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 5.75.0
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 5.75.0
113
+ - !ruby/object:Gem::Dependency
114
+ name: colorize
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 1.1.0
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 1.1.0
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 1.1.0
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 1.1.0
133
+ - !ruby/object:Gem::Dependency
134
+ name: simple_cloud_logging
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 1.2.2
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.2.2
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: 1.2.2
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 1.2.2
153
+ description: Ruby library for operating Zyte API.
154
+ email: leandro@connectionsphere.com
155
+ executables: []
156
+ extensions: []
157
+ extra_rdoc_files: []
158
+ files:
159
+ - lib/zyte-client.rb
160
+ - zyte-client.gemspec
161
+ homepage: https://github.com/leandrosardi/zyte-client
162
+ licenses:
163
+ - MIT
164
+ metadata: {}
165
+ post_install_message:
166
+ rdoc_options: []
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ requirements: []
180
+ rubygems_version: 3.3.7
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Ruby library for operating Zyte API.
184
+ test_files: []