scrapeunblocker 0.4.0 → 0.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fbe2fc1ce79fbf6b9293fe17403a6293599bf6cb04fe775d3596537a40fd5acb
4
- data.tar.gz: 4b9dce4731d710996fe0796766bc67829d1cdd5753e6a812f3fc74796cdf7c48
3
+ metadata.gz: 3076debfbde8d8f4aac22c77b69c7d9117d2050743f7c5794e856b4c8f0618f4
4
+ data.tar.gz: 19dd437fccd00ae77927c1863695bfd0599f20d6a424e61ead7aff0abffbfd04
5
5
  SHA512:
6
- metadata.gz: bca9218a5cee0b1bff9b9160860cc2d1cdd69e0b115abf3db35d449d005828e1f52099395f9d9ff0072ee4b509155cdc9088690d947a964179a3cb57823fffe2
7
- data.tar.gz: 14a9b61b2f89d2bd23d2356a7fdc35fe16c075862251173aa29cb2463633705132f19f4f87a8e76e7dd637d7f955f23078151389007c0a6860f8b21bddc6a3a0
6
+ metadata.gz: e0e42653b97107a96cd99ef480633c455b5833d38b57b1e18942232ff46684c48a7d616a3953c9ba887bf5eef848fa17cdafcba912b3014618d9dc45775570b2
7
+ data.tar.gz: c7809f130d23a492dd1faec14b243a77b8d1618f796998fc2aad9c05fa6d3c681f175fc54444e59eed818c5fb0906596daa697260f3b4c29b4bde25b689f5257
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 (2026-09-24)
4
+
5
+ - `google_images` takes `pages:` (1-5): fetch up to five Google Images result pages of ~100 results each in one call. Each page fetched is billed as one request; the response's `pagesFetched` says how many. The Google market now follows `proxy_country` automatically, so `gl` is only an optional override, and `max_results` is an optional cap up to 500.
6
+
7
+ No breaking changes.
8
+
9
+ ## 0.5.0 (2026-09-17)
10
+
11
+ - Added `google_images(q, ...)` for the new Google Images plugin (`POST /images/google-search`). Given a keyword `q` it returns Google Images results as a Hash - each with the full-size `imageUrl` and its `sourceDomain`, plus the source page URL, title, source name, thumbnail URL, pixel dimensions and file size. Optional `gl` (ISO-2 lowercase market), `max_results` (1-100) and `proxy_country` (ISO-2) refine the search.
12
+
13
+ No breaking changes.
14
+
3
15
  ## 0.4.0 (2026-09-16)
4
16
 
5
17
  - Added `southwest.flights(origin:, dest:, depart_date:, ...)` for the new Southwest Airlines plugin (`POST /flights/southwest-quotes`), reached through the new `su.southwest` namespace and mirroring `su.skyscanner`. `origin` and `dest` are IATA airport codes; `depart_date` and the optional `return_date` are `YYYY-MM-DD` (omit `return_date` for a one-way search). Optional `adults` (1-8, default 1), `fare_type` (`"dollars"` default or `"points"`), `proxy_country` (default `"US"`) and `max_attempts` (1-5, default 3). Returns the raw booking / shopping JSON as a Hash.
data/README.md CHANGED
@@ -128,6 +128,13 @@ local = su.google_local("coffee shops in chicago", proxy_country: "US", gl: "us"
128
128
  local["results"].each { |biz| puts "#{biz['name']} #{biz['rating']} #{biz['address']}" }
129
129
  ```
130
130
 
131
+ ## Google Images
132
+
133
+ ```ruby
134
+ images = su.google_images("golden retriever puppy", proxy_country: "US", pages: 3)
135
+ images["results"].each { |img| puts "#{img['imageUrl']} #{img['sourceDomain']} #{img['title']}" }
136
+ ```
137
+
131
138
  ## Meta Ad Library
132
139
 
133
140
  ```ruby
@@ -106,6 +106,20 @@ module ScrapeUnblocker
106
106
  keyword: keyword, proxy_country: proxy_country, hl: hl, gl: gl)
107
107
  end
108
108
 
109
+ # Search Google Images and return the image results as a Hash.
110
+ #
111
+ # Returns image results, each with the full-size +imageUrl+ and its
112
+ # +sourceDomain+, plus the source page URL, title, source name, thumbnail
113
+ # URL, pixel dimensions and file size. +q+ is the search keyword. Set
114
+ # +proxy_country+ to target a market (the Google market follows it; +gl+
115
+ # is an optional override), +pages+ (1-5, ~100 results each; each page
116
+ # fetched is billed as one request, see +pagesFetched+) and +max_results+
117
+ # (1-500) to cap the count.
118
+ def google_images(q, proxy_country: nil, pages: nil, gl: nil, max_results: nil)
119
+ post_json("/images/google-search",
120
+ q: q, pages: pages, gl: gl, max_results: max_results, proxy_country: proxy_country)
121
+ end
122
+
109
123
  # Fetch an advertiser's Meta (Facebook) Ad Library ads and return them as a Hash.
110
124
  #
111
125
  # +advertiser+ is the advertiser name or page to look up. Optional filters:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScrapeUnblocker
4
- VERSION = "0.4.0"
4
+ VERSION = "0.6.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrapeunblocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ScrapeUnblocker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-16 00:00:00.000000000 Z
11
+ date: 2026-09-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: JS-rendered pages that bypass Cloudflare, DataDome, PerimeterX and Akamai,
14
14
  plus Google SERP and Skyscanner flights/hotels/car-hire scraping as JSON.