crawlberg 1.12.2 → 1.12.4
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/ext/crawlberg_rb/native/Cargo.lock +46 -38
- data/ext/crawlberg_rb/native/Cargo.toml +3 -3
- data/lib/crawlberg/native.rb +28 -19
- data/lib/crawlberg/version.rb +2 -2
- data/sig/types.rbs +258 -5
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 747021fcab944856af87da80556698102fb7ee7f3220c354e571fa59280b1160
|
|
4
|
+
data.tar.gz: 54b65fe2b38f69ecfc1d562e0709e866d9a8a553e33efee72ad790496152cca7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4505534058307fe2ccc412b11218a57529760ee573e5e1115908d08c94ec52968de2fb48abc939cd4c101770446d61813376b4c064505c5137c4294754464f5b
|
|
7
|
+
data.tar.gz: 67f418fd655c3e05874f4fd41faa22bfb71363a800131ae886d5317225f606d600fcbc67bc52e2142c5e5867553d410bb0c196c4742f36ee35e52c13fea7f7bd
|
|
@@ -139,9 +139,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
|
139
139
|
|
|
140
140
|
[[package]]
|
|
141
141
|
name = "aws-lc-rs"
|
|
142
|
-
version = "1.
|
|
142
|
+
version = "1.19.0"
|
|
143
143
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
144
|
-
checksum = "
|
|
144
|
+
checksum = "048006790404103c488e6c5616b3e7e702a71292aadda08e8f7698a9e0d2eb53"
|
|
145
145
|
dependencies = [
|
|
146
146
|
"aws-lc-sys",
|
|
147
147
|
"zeroize",
|
|
@@ -149,9 +149,9 @@ dependencies = [
|
|
|
149
149
|
|
|
150
150
|
[[package]]
|
|
151
151
|
name = "aws-lc-sys"
|
|
152
|
-
version = "0.
|
|
152
|
+
version = "0.47.0"
|
|
153
153
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
154
|
-
checksum = "
|
|
154
|
+
checksum = "8bfbe32ac36b3c428696ce315464181bc4029d689fd58e3f2a4e58c252242f52"
|
|
155
155
|
dependencies = [
|
|
156
156
|
"cc",
|
|
157
157
|
"cmake",
|
|
@@ -537,9 +537,9 @@ dependencies = [
|
|
|
537
537
|
|
|
538
538
|
[[package]]
|
|
539
539
|
name = "crawlberg"
|
|
540
|
-
version = "1.12.
|
|
540
|
+
version = "1.12.4"
|
|
541
541
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
542
|
-
checksum = "
|
|
542
|
+
checksum = "e345a707346726368541ecc67fb348671c883b049aa266153858010514ee20ee"
|
|
543
543
|
dependencies = [
|
|
544
544
|
"ahash",
|
|
545
545
|
"aho-corasick",
|
|
@@ -607,9 +607,9 @@ dependencies = [
|
|
|
607
607
|
|
|
608
608
|
[[package]]
|
|
609
609
|
name = "crawlberg-chromiumoxide"
|
|
610
|
-
version = "0.9.
|
|
610
|
+
version = "0.9.5"
|
|
611
611
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
612
|
-
checksum = "
|
|
612
|
+
checksum = "28a8fa6f75a2a698c099f1defa98fe1dd45367e0574d7f52306a1e54d66bf4df"
|
|
613
613
|
dependencies = [
|
|
614
614
|
"async-tungstenite",
|
|
615
615
|
"base64",
|
|
@@ -635,7 +635,7 @@ dependencies = [
|
|
|
635
635
|
|
|
636
636
|
[[package]]
|
|
637
637
|
name = "crawlberg-rb"
|
|
638
|
-
version = "1.12.
|
|
638
|
+
version = "1.12.4"
|
|
639
639
|
dependencies = [
|
|
640
640
|
"crawlberg",
|
|
641
641
|
"futures",
|
|
@@ -648,9 +648,9 @@ dependencies = [
|
|
|
648
648
|
|
|
649
649
|
[[package]]
|
|
650
650
|
name = "crawlberg-robots"
|
|
651
|
-
version = "1.12.
|
|
651
|
+
version = "1.12.4"
|
|
652
652
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
653
|
-
checksum = "
|
|
653
|
+
checksum = "7115fd4903fd4d7ffa0193824de27f3a407f6322d8ca2c7bde1025c4c7df841c"
|
|
654
654
|
|
|
655
655
|
[[package]]
|
|
656
656
|
name = "crc32fast"
|
|
@@ -774,9 +774,9 @@ checksum = "0e9c71c2167ca323c882b99918929403426e2373ea17242ff5653e0d5e1058be"
|
|
|
774
774
|
|
|
775
775
|
[[package]]
|
|
776
776
|
name = "encoding_rs"
|
|
777
|
-
version = "0.8.
|
|
777
|
+
version = "0.8.44"
|
|
778
778
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
779
|
-
checksum = "
|
|
779
|
+
checksum = "89253175e704ab869b04f9db224d38630e0211a53841a79181deae0889e169f5"
|
|
780
780
|
dependencies = [
|
|
781
781
|
"cfg-if",
|
|
782
782
|
"core_detect",
|
|
@@ -1077,9 +1077,9 @@ checksum = "491194d601b4fa9fac3c9571e014070a0ad1bc3392d1bc10419695196a8b3cc3"
|
|
|
1077
1077
|
|
|
1078
1078
|
[[package]]
|
|
1079
1079
|
name = "html-to-markdown-rs"
|
|
1080
|
-
version = "3.
|
|
1080
|
+
version = "3.19.1"
|
|
1081
1081
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1082
|
-
checksum = "
|
|
1082
|
+
checksum = "e0c9d1d13553220b2dd9bbbd135b6d8d9dfcb8c1893a842e93f93b9f59bcc5a4"
|
|
1083
1083
|
dependencies = [
|
|
1084
1084
|
"ahash",
|
|
1085
1085
|
"astral-tl",
|
|
@@ -1521,9 +1521,9 @@ dependencies = [
|
|
|
1521
1521
|
|
|
1522
1522
|
[[package]]
|
|
1523
1523
|
name = "js-sys"
|
|
1524
|
-
version = "0.3.
|
|
1524
|
+
version = "0.3.107"
|
|
1525
1525
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1526
|
-
checksum = "
|
|
1526
|
+
checksum = "8dc09d2154098bbf4ef54eab6b117a3c24cbbffe94046b16ee6d6d4510584d3a"
|
|
1527
1527
|
dependencies = [
|
|
1528
1528
|
"cfg-if",
|
|
1529
1529
|
"futures-util",
|
|
@@ -1610,9 +1610,9 @@ dependencies = [
|
|
|
1610
1610
|
|
|
1611
1611
|
[[package]]
|
|
1612
1612
|
name = "log"
|
|
1613
|
-
version = "0.4.
|
|
1613
|
+
version = "0.4.35"
|
|
1614
1614
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1615
|
-
checksum = "
|
|
1615
|
+
checksum = "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c"
|
|
1616
1616
|
|
|
1617
1617
|
[[package]]
|
|
1618
1618
|
name = "lru-slab"
|
|
@@ -1757,9 +1757,9 @@ dependencies = [
|
|
|
1757
1757
|
|
|
1758
1758
|
[[package]]
|
|
1759
1759
|
name = "notify-types"
|
|
1760
|
-
version = "2.
|
|
1760
|
+
version = "2.2.0"
|
|
1761
1761
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1762
|
-
checksum = "
|
|
1762
|
+
checksum = "0a437a9308232ce794b1e7fdf540d38ea37efc3c73492640c13b4c8568b8f108"
|
|
1763
1763
|
dependencies = [
|
|
1764
1764
|
"bitflags",
|
|
1765
1765
|
]
|
|
@@ -2686,9 +2686,9 @@ dependencies = [
|
|
|
2686
2686
|
|
|
2687
2687
|
[[package]]
|
|
2688
2688
|
name = "sysinfo"
|
|
2689
|
-
version = "0.
|
|
2689
|
+
version = "0.40.1"
|
|
2690
2690
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2691
|
-
checksum = "
|
|
2691
|
+
checksum = "0e8a3edbe0394ce115f3917a00349dd242be09eb5a091ed509eaf67b55cfb8a8"
|
|
2692
2692
|
dependencies = [
|
|
2693
2693
|
"libc",
|
|
2694
2694
|
"memchr",
|
|
@@ -3087,9 +3087,18 @@ dependencies = [
|
|
|
3087
3087
|
|
|
3088
3088
|
[[package]]
|
|
3089
3089
|
name = "utf8_iter"
|
|
3090
|
-
version = "1.0
|
|
3090
|
+
version = "1.1.0"
|
|
3091
3091
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3092
|
-
checksum = "
|
|
3092
|
+
checksum = "af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0"
|
|
3093
|
+
dependencies = [
|
|
3094
|
+
"utf_types",
|
|
3095
|
+
]
|
|
3096
|
+
|
|
3097
|
+
[[package]]
|
|
3098
|
+
name = "utf_types"
|
|
3099
|
+
version = "1.0.0"
|
|
3100
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3101
|
+
checksum = "3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6"
|
|
3093
3102
|
|
|
3094
3103
|
[[package]]
|
|
3095
3104
|
name = "version_check"
|
|
@@ -3133,12 +3142,11 @@ dependencies = [
|
|
|
3133
3142
|
|
|
3134
3143
|
[[package]]
|
|
3135
3144
|
name = "wasm-bindgen"
|
|
3136
|
-
version = "0.2.
|
|
3145
|
+
version = "0.2.130"
|
|
3137
3146
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3138
|
-
checksum = "
|
|
3147
|
+
checksum = "a0181c14ddd6c7b8b0b0132a5f1ea2f32be0d893cd3ea97b6e3b28886b8a3d1c"
|
|
3139
3148
|
dependencies = [
|
|
3140
3149
|
"cfg-if",
|
|
3141
|
-
"once_cell",
|
|
3142
3150
|
"rustversion",
|
|
3143
3151
|
"wasm-bindgen-macro",
|
|
3144
3152
|
"wasm-bindgen-shared",
|
|
@@ -3146,9 +3154,9 @@ dependencies = [
|
|
|
3146
3154
|
|
|
3147
3155
|
[[package]]
|
|
3148
3156
|
name = "wasm-bindgen-futures"
|
|
3149
|
-
version = "0.4.
|
|
3157
|
+
version = "0.4.80"
|
|
3150
3158
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3151
|
-
checksum = "
|
|
3159
|
+
checksum = "5e14e0327cb5368ad60ccb22d04a9827a693c95a926d8d125e9fa39e0baec501"
|
|
3152
3160
|
dependencies = [
|
|
3153
3161
|
"js-sys",
|
|
3154
3162
|
"tokio",
|
|
@@ -3157,9 +3165,9 @@ dependencies = [
|
|
|
3157
3165
|
|
|
3158
3166
|
[[package]]
|
|
3159
3167
|
name = "wasm-bindgen-macro"
|
|
3160
|
-
version = "0.2.
|
|
3168
|
+
version = "0.2.130"
|
|
3161
3169
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3162
|
-
checksum = "
|
|
3170
|
+
checksum = "6e931a02a39abdbf66966fc35902b5ed58344750a70885bed4ebb3d8eaf28ed9"
|
|
3163
3171
|
dependencies = [
|
|
3164
3172
|
"quote",
|
|
3165
3173
|
"wasm-bindgen-macro-support",
|
|
@@ -3167,9 +3175,9 @@ dependencies = [
|
|
|
3167
3175
|
|
|
3168
3176
|
[[package]]
|
|
3169
3177
|
name = "wasm-bindgen-macro-support"
|
|
3170
|
-
version = "0.2.
|
|
3178
|
+
version = "0.2.130"
|
|
3171
3179
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3172
|
-
checksum = "
|
|
3180
|
+
checksum = "2ca4b54280e455bd831e33a6b8e734baf432fe63fbc35c42ac14ce67a043a53a"
|
|
3173
3181
|
dependencies = [
|
|
3174
3182
|
"bumpalo",
|
|
3175
3183
|
"proc-macro2",
|
|
@@ -3180,18 +3188,18 @@ dependencies = [
|
|
|
3180
3188
|
|
|
3181
3189
|
[[package]]
|
|
3182
3190
|
name = "wasm-bindgen-shared"
|
|
3183
|
-
version = "0.2.
|
|
3191
|
+
version = "0.2.130"
|
|
3184
3192
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3185
|
-
checksum = "
|
|
3193
|
+
checksum = "3b1f9c3798725016c6ee5f2f57869ec0831e8bbc0ab0310a86e787e97f41389e"
|
|
3186
3194
|
dependencies = [
|
|
3187
3195
|
"unicode-ident",
|
|
3188
3196
|
]
|
|
3189
3197
|
|
|
3190
3198
|
[[package]]
|
|
3191
3199
|
name = "web-sys"
|
|
3192
|
-
version = "0.3.
|
|
3200
|
+
version = "0.3.107"
|
|
3193
3201
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3194
|
-
checksum = "
|
|
3202
|
+
checksum = "d7d179596ff5ec0f6de4db64d54011bde6289cc49603d3a6e4ce3f329207ab88"
|
|
3195
3203
|
dependencies = [
|
|
3196
3204
|
"js-sys",
|
|
3197
3205
|
"wasm-bindgen",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:7503feae8b3539c3d4ba3358faff2fcf06f713448e257078862d2e3b8f2e5ebb
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
|
|
6
6
|
[package]
|
|
7
7
|
name = "crawlberg-rb"
|
|
8
|
-
version = "1.12.
|
|
8
|
+
version = "1.12.4"
|
|
9
9
|
edition = "2024"
|
|
10
10
|
authors = ["Na'aman Hirschfeld <naaman@xberg.io>", "Tobias Perlstein <tobias@xberg.io>"]
|
|
11
11
|
license = "MIT"
|
|
@@ -23,7 +23,7 @@ path = "../src/lib.rs"
|
|
|
23
23
|
crate-type = ["cdylib"]
|
|
24
24
|
|
|
25
25
|
[dependencies]
|
|
26
|
-
crawlberg = { version = "1.12.
|
|
26
|
+
crawlberg = { version = "1.12.4", features = ["interact", "browser-chromiumoxide"] }
|
|
27
27
|
futures = "0.3"
|
|
28
28
|
magnus = "0.9"
|
|
29
29
|
rb-sys = ">=0.9.130, <0.10"
|
data/lib/crawlberg/native.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:69b28e0471fcb4accb00c4c7601e854143fc70114da129bcb4f7853d1a92c044
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
# frozen_string_literal: true
|
|
@@ -82,7 +82,10 @@ module Crawlberg
|
|
|
82
82
|
# @return [self]
|
|
83
83
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
84
84
|
def self.from_hash(hash)
|
|
85
|
-
new(
|
|
85
|
+
new(
|
|
86
|
+
username: hash.key?(:username) ? hash[:username] : hash["username"],
|
|
87
|
+
password: hash.key?(:password) ? hash[:password] : hash["password"]
|
|
88
|
+
)
|
|
86
89
|
end
|
|
87
90
|
end
|
|
88
91
|
## Bearer token authentication.
|
|
@@ -103,7 +106,7 @@ module Crawlberg
|
|
|
103
106
|
# @return [self]
|
|
104
107
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
105
108
|
def self.from_hash(hash)
|
|
106
|
-
new(token: hash[:token]
|
|
109
|
+
new(token: hash.key?(:token) ? hash[:token] : hash["token"])
|
|
107
110
|
end
|
|
108
111
|
end
|
|
109
112
|
## Custom authentication header.
|
|
@@ -127,7 +130,7 @@ module Crawlberg
|
|
|
127
130
|
# @return [self]
|
|
128
131
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
129
132
|
def self.from_hash(hash)
|
|
130
|
-
new(name: hash[:name]
|
|
133
|
+
new(name: hash.key?(:name) ? hash[:name] : hash["name"], value: hash.key?(:value) ? hash[:value] : hash["value"])
|
|
131
134
|
end
|
|
132
135
|
end
|
|
133
136
|
end
|
|
@@ -185,7 +188,7 @@ module Crawlberg
|
|
|
185
188
|
# @return [self]
|
|
186
189
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
187
190
|
def self.from_hash(hash)
|
|
188
|
-
new(result: hash[:result]
|
|
191
|
+
new(result: hash.key?(:result) ? hash[:result] : hash["result"])
|
|
189
192
|
end
|
|
190
193
|
end
|
|
191
194
|
## An error occurred while crawling a URL.
|
|
@@ -209,7 +212,7 @@ module Crawlberg
|
|
|
209
212
|
# @return [self]
|
|
210
213
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
211
214
|
def self.from_hash(hash)
|
|
212
|
-
new(url: hash[:url]
|
|
215
|
+
new(url: hash.key?(:url) ? hash[:url] : hash["url"], error: hash.key?(:error) ? hash[:error] : hash["error"])
|
|
213
216
|
end
|
|
214
217
|
end
|
|
215
218
|
## The crawl has completed.
|
|
@@ -230,7 +233,7 @@ module Crawlberg
|
|
|
230
233
|
# @return [self]
|
|
231
234
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
232
235
|
def self.from_hash(hash)
|
|
233
|
-
new(pages_crawled: hash[:pages_crawled]
|
|
236
|
+
new(pages_crawled: hash.key?(:pages_crawled) ? hash[:pages_crawled] : hash["pages_crawled"])
|
|
234
237
|
end
|
|
235
238
|
end
|
|
236
239
|
end
|
|
@@ -293,7 +296,7 @@ module Crawlberg
|
|
|
293
296
|
# @return [self]
|
|
294
297
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
295
298
|
def self.from_hash(hash)
|
|
296
|
-
new(value: hash[:value]
|
|
299
|
+
new(value: hash.key?(:value) ? hash[:value] : hash["value"])
|
|
297
300
|
end
|
|
298
301
|
end
|
|
299
302
|
## Suffix match: ".xberg.io" matches "api.xberg.io" and "xberg.io".
|
|
@@ -314,7 +317,7 @@ module Crawlberg
|
|
|
314
317
|
# @return [self]
|
|
315
318
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
316
319
|
def self.from_hash(hash)
|
|
317
|
-
new(value: hash[:value]
|
|
320
|
+
new(value: hash.key?(:value) ? hash[:value] : hash["value"])
|
|
318
321
|
end
|
|
319
322
|
end
|
|
320
323
|
## CIDR match: "10.0.0.0/8" matches IP addresses in that range.
|
|
@@ -336,7 +339,7 @@ module Crawlberg
|
|
|
336
339
|
# @return [self]
|
|
337
340
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
338
341
|
def self.from_hash(hash)
|
|
339
|
-
new(value: hash[:value]
|
|
342
|
+
new(value: hash.key?(:value) ? hash[:value] : hash["value"])
|
|
340
343
|
end
|
|
341
344
|
end
|
|
342
345
|
end
|
|
@@ -408,7 +411,7 @@ module Crawlberg
|
|
|
408
411
|
# @return [self]
|
|
409
412
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
410
413
|
def self.from_hash(hash)
|
|
411
|
-
new(selector: hash[:selector]
|
|
414
|
+
new(selector: hash.key?(:selector) ? hash[:selector] : hash["selector"])
|
|
412
415
|
end
|
|
413
416
|
end
|
|
414
417
|
## Type text into an element matching the given CSS selector.
|
|
@@ -442,7 +445,10 @@ module Crawlberg
|
|
|
442
445
|
# @return [self]
|
|
443
446
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
444
447
|
def self.from_hash(hash)
|
|
445
|
-
new(
|
|
448
|
+
new(
|
|
449
|
+
selector: hash.key?(:selector) ? hash[:selector] : hash["selector"],
|
|
450
|
+
text: hash.key?(:text) ? hash[:text] : hash["text"]
|
|
451
|
+
)
|
|
446
452
|
end
|
|
447
453
|
end
|
|
448
454
|
## Press a keyboard key (e.g. "Enter", "Tab", "Escape").
|
|
@@ -473,7 +479,7 @@ module Crawlberg
|
|
|
473
479
|
# @return [self]
|
|
474
480
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
475
481
|
def self.from_hash(hash)
|
|
476
|
-
new(key: hash[:key]
|
|
482
|
+
new(key: hash.key?(:key) ? hash[:key] : hash["key"])
|
|
477
483
|
end
|
|
478
484
|
end
|
|
479
485
|
## Scroll the page or a specific element.
|
|
@@ -511,9 +517,9 @@ module Crawlberg
|
|
|
511
517
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
512
518
|
def self.from_hash(hash)
|
|
513
519
|
new(
|
|
514
|
-
direction: hash[:direction]
|
|
515
|
-
selector: hash[:selector]
|
|
516
|
-
amount: hash[:amount]
|
|
520
|
+
direction: hash.key?(:direction) ? hash[:direction] : hash["direction"],
|
|
521
|
+
selector: hash.key?(:selector) ? hash[:selector] : hash["selector"],
|
|
522
|
+
amount: hash.key?(:amount) ? hash[:amount] : hash["amount"]
|
|
517
523
|
)
|
|
518
524
|
end
|
|
519
525
|
end
|
|
@@ -548,7 +554,10 @@ module Crawlberg
|
|
|
548
554
|
# @return [self]
|
|
549
555
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
550
556
|
def self.from_hash(hash)
|
|
551
|
-
new(
|
|
557
|
+
new(
|
|
558
|
+
milliseconds: hash.key?(:milliseconds) ? hash[:milliseconds] : hash["milliseconds"],
|
|
559
|
+
selector: hash.key?(:selector) ? hash[:selector] : hash["selector"]
|
|
560
|
+
)
|
|
552
561
|
end
|
|
553
562
|
end
|
|
554
563
|
## Take a screenshot of the current page.
|
|
@@ -583,7 +592,7 @@ module Crawlberg
|
|
|
583
592
|
# @return [self]
|
|
584
593
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
585
594
|
def self.from_hash(hash)
|
|
586
|
-
new(full_page: hash[:full_page]
|
|
595
|
+
new(full_page: hash.key?(:full_page) ? hash[:full_page] : hash["full_page"])
|
|
587
596
|
end
|
|
588
597
|
end
|
|
589
598
|
## Execute arbitrary JavaScript in the page context.
|
|
@@ -619,7 +628,7 @@ module Crawlberg
|
|
|
619
628
|
# @return [self]
|
|
620
629
|
sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
|
|
621
630
|
def self.from_hash(hash)
|
|
622
|
-
new(script: hash[:script]
|
|
631
|
+
new(script: hash.key?(:script) ? hash[:script] : hash["script"])
|
|
623
632
|
end
|
|
624
633
|
end
|
|
625
634
|
## Scrape the current page HTML.
|
data/lib/crawlberg/version.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:27817e744b9371747239d3dbd9b752d1075b40b343e776252ec09010abe2a16b
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
# frozen_string_literal: true
|
|
6
6
|
|
|
7
7
|
module Crawlberg
|
|
8
8
|
## The version string for this package.
|
|
9
|
-
VERSION = "1.12.
|
|
9
|
+
VERSION = "1.12.4"
|
|
10
10
|
end
|
data/sig/types.rbs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:2a433f35126235c3682b8cfe4eaad04f121e9210241b4afaa525a7175302dca4
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
|
|
@@ -530,7 +530,46 @@ def initialize: (?deny_private: bool, ?allowlist: Array[HostMatcher], ?denylist:
|
|
|
530
530
|
|
|
531
531
|
type enum_AssetCategory = :document | :image | :audio | :video | :font | :stylesheet | :script | :archive | :data | :other
|
|
532
532
|
|
|
533
|
-
|
|
533
|
+
module AuthConfig
|
|
534
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
class AuthConfigBasic
|
|
538
|
+
include AuthConfig
|
|
539
|
+
attr_reader username: String
|
|
540
|
+
attr_reader password: String
|
|
541
|
+
|
|
542
|
+
def basic?: () -> bool
|
|
543
|
+
def bearer?: () -> bool
|
|
544
|
+
def header?: () -> bool
|
|
545
|
+
|
|
546
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
547
|
+
def self.new: (username: String, password: String) -> AuthConfigBasic
|
|
548
|
+
end
|
|
549
|
+
|
|
550
|
+
class AuthConfigBearer
|
|
551
|
+
include AuthConfig
|
|
552
|
+
attr_reader token: String
|
|
553
|
+
|
|
554
|
+
def basic?: () -> bool
|
|
555
|
+
def bearer?: () -> bool
|
|
556
|
+
def header?: () -> bool
|
|
557
|
+
|
|
558
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
559
|
+
def self.new: (token: String) -> AuthConfigBearer
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
class AuthConfigHeader
|
|
563
|
+
include AuthConfig
|
|
564
|
+
attr_reader name: String
|
|
565
|
+
attr_reader value: String
|
|
566
|
+
|
|
567
|
+
def basic?: () -> bool
|
|
568
|
+
def bearer?: () -> bool
|
|
569
|
+
def header?: () -> bool
|
|
570
|
+
|
|
571
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
572
|
+
def self.new: (name: String, value: String) -> AuthConfigHeader
|
|
534
573
|
end
|
|
535
574
|
|
|
536
575
|
type enum_BrowserBackend = :chromiumoxide | :native
|
|
@@ -541,7 +580,45 @@ def initialize: (?deny_private: bool, ?allowlist: Array[HostMatcher], ?denylist:
|
|
|
541
580
|
|
|
542
581
|
type enum_ContentFilterKind = :bm25
|
|
543
582
|
|
|
544
|
-
|
|
583
|
+
module CrawlEvent
|
|
584
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
class CrawlEventPage
|
|
588
|
+
include CrawlEvent
|
|
589
|
+
attr_reader result: CrawlPageResult
|
|
590
|
+
|
|
591
|
+
def page?: () -> bool
|
|
592
|
+
def error?: () -> bool
|
|
593
|
+
def complete?: () -> bool
|
|
594
|
+
|
|
595
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
596
|
+
def self.new: (result: CrawlPageResult) -> CrawlEventPage
|
|
597
|
+
end
|
|
598
|
+
|
|
599
|
+
class CrawlEventError
|
|
600
|
+
include CrawlEvent
|
|
601
|
+
attr_reader url: String
|
|
602
|
+
attr_reader error: String
|
|
603
|
+
|
|
604
|
+
def page?: () -> bool
|
|
605
|
+
def error?: () -> bool
|
|
606
|
+
def complete?: () -> bool
|
|
607
|
+
|
|
608
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
609
|
+
def self.new: (url: String, error: String) -> CrawlEventError
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
class CrawlEventComplete
|
|
613
|
+
include CrawlEvent
|
|
614
|
+
attr_reader pages_crawled: Integer
|
|
615
|
+
|
|
616
|
+
def page?: () -> bool
|
|
617
|
+
def error?: () -> bool
|
|
618
|
+
def complete?: () -> bool
|
|
619
|
+
|
|
620
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
621
|
+
def self.new: (pages_crawled: Integer) -> CrawlEventComplete
|
|
545
622
|
end
|
|
546
623
|
|
|
547
624
|
type enum_CrawlStrategyKind = :bfs | :dfs | :best_first | :adaptive
|
|
@@ -550,14 +627,190 @@ def initialize: (?deny_private: bool, ?allowlist: Array[HostMatcher], ?denylist:
|
|
|
550
627
|
|
|
551
628
|
type enum_FeedType = :rss | :atom | :json_feed
|
|
552
629
|
|
|
553
|
-
|
|
630
|
+
module HostMatcher
|
|
631
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
632
|
+
end
|
|
633
|
+
|
|
634
|
+
class HostMatcherExact
|
|
635
|
+
include HostMatcher
|
|
636
|
+
attr_reader value: String
|
|
637
|
+
|
|
638
|
+
def exact?: () -> bool
|
|
639
|
+
def suffix?: () -> bool
|
|
640
|
+
def cidr?: () -> bool
|
|
641
|
+
|
|
642
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
643
|
+
def self.new: (value: String) -> HostMatcherExact
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
class HostMatcherSuffix
|
|
647
|
+
include HostMatcher
|
|
648
|
+
attr_reader value: String
|
|
649
|
+
|
|
650
|
+
def exact?: () -> bool
|
|
651
|
+
def suffix?: () -> bool
|
|
652
|
+
def cidr?: () -> bool
|
|
653
|
+
|
|
654
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
655
|
+
def self.new: (value: String) -> HostMatcherSuffix
|
|
656
|
+
end
|
|
657
|
+
|
|
658
|
+
class HostMatcherCidr
|
|
659
|
+
include HostMatcher
|
|
660
|
+
attr_reader value: String
|
|
661
|
+
|
|
662
|
+
def exact?: () -> bool
|
|
663
|
+
def suffix?: () -> bool
|
|
664
|
+
def cidr?: () -> bool
|
|
665
|
+
|
|
666
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
667
|
+
def self.new: (value: String) -> HostMatcherCidr
|
|
554
668
|
end
|
|
555
669
|
|
|
556
670
|
type enum_ImageSource = :img | :picture_source | :"og:image" | :"twitter:image"
|
|
557
671
|
|
|
558
672
|
type enum_LinkType = :internal | :external | :anchor | :document
|
|
559
673
|
|
|
560
|
-
|
|
674
|
+
module PageAction
|
|
675
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
676
|
+
end
|
|
677
|
+
|
|
678
|
+
class PageActionClick
|
|
679
|
+
include PageAction
|
|
680
|
+
attr_reader selector: String
|
|
681
|
+
|
|
682
|
+
def click?: () -> bool
|
|
683
|
+
def type_text?: () -> bool
|
|
684
|
+
def press?: () -> bool
|
|
685
|
+
def scroll?: () -> bool
|
|
686
|
+
def wait?: () -> bool
|
|
687
|
+
def screenshot?: () -> bool
|
|
688
|
+
def execute_js?: () -> bool
|
|
689
|
+
def scrape?: () -> bool
|
|
690
|
+
|
|
691
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
692
|
+
def self.new: (selector: String) -> PageActionClick
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
class PageActionTypeText
|
|
696
|
+
include PageAction
|
|
697
|
+
attr_reader selector: String
|
|
698
|
+
attr_reader text: String
|
|
699
|
+
|
|
700
|
+
def click?: () -> bool
|
|
701
|
+
def type_text?: () -> bool
|
|
702
|
+
def press?: () -> bool
|
|
703
|
+
def scroll?: () -> bool
|
|
704
|
+
def wait?: () -> bool
|
|
705
|
+
def screenshot?: () -> bool
|
|
706
|
+
def execute_js?: () -> bool
|
|
707
|
+
def scrape?: () -> bool
|
|
708
|
+
|
|
709
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
710
|
+
def self.new: (selector: String, text: String) -> PageActionTypeText
|
|
711
|
+
end
|
|
712
|
+
|
|
713
|
+
class PageActionPress
|
|
714
|
+
include PageAction
|
|
715
|
+
attr_reader key: String
|
|
716
|
+
|
|
717
|
+
def click?: () -> bool
|
|
718
|
+
def type_text?: () -> bool
|
|
719
|
+
def press?: () -> bool
|
|
720
|
+
def scroll?: () -> bool
|
|
721
|
+
def wait?: () -> bool
|
|
722
|
+
def screenshot?: () -> bool
|
|
723
|
+
def execute_js?: () -> bool
|
|
724
|
+
def scrape?: () -> bool
|
|
725
|
+
|
|
726
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
727
|
+
def self.new: (key: String) -> PageActionPress
|
|
728
|
+
end
|
|
729
|
+
|
|
730
|
+
class PageActionScroll
|
|
731
|
+
include PageAction
|
|
732
|
+
attr_reader direction: enum_ScrollDirection
|
|
733
|
+
attr_reader selector: String?
|
|
734
|
+
attr_reader amount: Integer?
|
|
735
|
+
|
|
736
|
+
def click?: () -> bool
|
|
737
|
+
def type_text?: () -> bool
|
|
738
|
+
def press?: () -> bool
|
|
739
|
+
def scroll?: () -> bool
|
|
740
|
+
def wait?: () -> bool
|
|
741
|
+
def screenshot?: () -> bool
|
|
742
|
+
def execute_js?: () -> bool
|
|
743
|
+
def scrape?: () -> bool
|
|
744
|
+
|
|
745
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
746
|
+
def self.new: (direction: enum_ScrollDirection, selector: String?, amount: Integer?) -> PageActionScroll
|
|
747
|
+
end
|
|
748
|
+
|
|
749
|
+
class PageActionWait
|
|
750
|
+
include PageAction
|
|
751
|
+
attr_reader milliseconds: Integer?
|
|
752
|
+
attr_reader selector: String?
|
|
753
|
+
|
|
754
|
+
def click?: () -> bool
|
|
755
|
+
def type_text?: () -> bool
|
|
756
|
+
def press?: () -> bool
|
|
757
|
+
def scroll?: () -> bool
|
|
758
|
+
def wait?: () -> bool
|
|
759
|
+
def screenshot?: () -> bool
|
|
760
|
+
def execute_js?: () -> bool
|
|
761
|
+
def scrape?: () -> bool
|
|
762
|
+
|
|
763
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
764
|
+
def self.new: (milliseconds: Integer?, selector: String?) -> PageActionWait
|
|
765
|
+
end
|
|
766
|
+
|
|
767
|
+
class PageActionScreenshot
|
|
768
|
+
include PageAction
|
|
769
|
+
attr_reader full_page: bool?
|
|
770
|
+
|
|
771
|
+
def click?: () -> bool
|
|
772
|
+
def type_text?: () -> bool
|
|
773
|
+
def press?: () -> bool
|
|
774
|
+
def scroll?: () -> bool
|
|
775
|
+
def wait?: () -> bool
|
|
776
|
+
def screenshot?: () -> bool
|
|
777
|
+
def execute_js?: () -> bool
|
|
778
|
+
def scrape?: () -> bool
|
|
779
|
+
|
|
780
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
781
|
+
def self.new: (full_page: bool?) -> PageActionScreenshot
|
|
782
|
+
end
|
|
783
|
+
|
|
784
|
+
class PageActionExecuteJs
|
|
785
|
+
include PageAction
|
|
786
|
+
attr_reader script: String
|
|
787
|
+
|
|
788
|
+
def click?: () -> bool
|
|
789
|
+
def type_text?: () -> bool
|
|
790
|
+
def press?: () -> bool
|
|
791
|
+
def scroll?: () -> bool
|
|
792
|
+
def wait?: () -> bool
|
|
793
|
+
def screenshot?: () -> bool
|
|
794
|
+
def execute_js?: () -> bool
|
|
795
|
+
def scrape?: () -> bool
|
|
796
|
+
|
|
797
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
798
|
+
def self.new: (script: String) -> PageActionExecuteJs
|
|
799
|
+
end
|
|
800
|
+
|
|
801
|
+
class PageActionScrape
|
|
802
|
+
include PageAction
|
|
803
|
+
def click?: () -> bool
|
|
804
|
+
def type_text?: () -> bool
|
|
805
|
+
def press?: () -> bool
|
|
806
|
+
def scroll?: () -> bool
|
|
807
|
+
def wait?: () -> bool
|
|
808
|
+
def screenshot?: () -> bool
|
|
809
|
+
def execute_js?: () -> bool
|
|
810
|
+
def scrape?: () -> bool
|
|
811
|
+
|
|
812
|
+
def self.from_hash: (untyped hash) -> untyped
|
|
813
|
+
def self.new: -> PageActionScrape
|
|
561
814
|
end
|
|
562
815
|
|
|
563
816
|
type enum_ScrollDirection = :up | :down
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: crawlberg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.12.
|
|
4
|
+
version: 1.12.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Na'aman Hirschfeld
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-10-
|
|
12
|
+
date: 2026-10-31 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rb_sys
|