scrapeunblocker 0.2.0 → 0.2.1

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: d921e3453928431b4e1715efd3f8ae53fa1175f5b4fdbf4a67db12c0409cab18
4
- data.tar.gz: 59bcc76323226693b74aa96d8a3f969118f6df95328a6e3424bed1ec8dfa78e0
3
+ metadata.gz: 52fcc1782b1ae470a517b26515674f570071abefa9183613f772f54c002cd050
4
+ data.tar.gz: 688d1524ef190967afcd2272e7ca6cc17fc0a36417fec75a839f0cc2b607fde7
5
5
  SHA512:
6
- metadata.gz: 4d0791186d046ebe36897a987c7fd08fdfa98c1c78754fc7a32bc9552ac782a903ec1e10bde22fa7d1b442972586ab8a85d6777a00dc5d310e1c9cfe40f9e372
7
- data.tar.gz: b132825a15081702a1e76ab431ae9835f88ffa7a589241775688f1820ee58c14d438e0a9150afa995e70fee3ee97df63de6f0dd6b9ba78c17adbacd0ba00510b
6
+ metadata.gz: f60f1a37fcf62e63fe8195904a50464d7a06f6a1fcc4aac3cffe435fe5a9af0c7fa6de4a89ea0dc0658ed7e7c527f7b731bcb14389e5581913d1173f893f505d
7
+ data.tar.gz: c044299c381b979ad904cf1e0ecb67687e5e93ed91b44f4bc06af06bcf11cd11bda3e7bbabe08c3a0e63cac3474b24b5384141fe2999c9e5f06b548905f84e77
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 (2026-09-02)
4
+
5
+ - Added `meta_ad_library(advertiser, ...)` for the new Meta Ad Library plugin (`POST /ads/meta-ad-library`) - returns an advertiser's Meta (Facebook) Ad Library ads as a Hash. `advertiser` is required; optional filters `country`, `active_status`, `media_type` and `max_ads` are dropped when unset so the API applies its own defaults.
6
+
7
+ No breaking changes.
8
+
3
9
  ## 0.2.0 (2026-08-29)
4
10
 
5
11
  - `get_page_source` now accepts `steps:` - an ordered Array of browser-action Hashes the API runs in the real browser after the page loads (`wait_for`, `wait_for_text`, `wait`, `click`, `type`, `select`, `press_key`, `scroll`). The array is JSON-encoded into the `steps` query parameter. Steps run once and are not idempotent; a failed step returns HTTP 422 and raises `ScrapeUnblocker::ValidationError`, whose `body` names the failed step (`step_index`, `action`, `reason`, `selector`, `html`).
data/README.md CHANGED
@@ -128,6 +128,15 @@ 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
+ ## Meta Ad Library
132
+
133
+ ```ruby
134
+ ads = su.meta_ad_library("Nike", country: "US")
135
+ ads["results"].each { |ad| puts "#{ad['id']} #{ad['media_type']}" }
136
+ ```
137
+
138
+ `advertiser` is required. Optional filters: `country`, `active_status`, `media_type` and `max_ads`. Unset filters are dropped and the API applies its own defaults.
139
+
131
140
  ## Oopbuy goods search
132
141
 
133
142
  ```ruby
@@ -101,6 +101,19 @@ module ScrapeUnblocker
101
101
  keyword: keyword, proxy_country: proxy_country, hl: hl, gl: gl)
102
102
  end
103
103
 
104
+ # Fetch an advertiser's Meta (Facebook) Ad Library ads and return them as a Hash.
105
+ #
106
+ # +advertiser+ is the advertiser name or page to look up. Optional filters:
107
+ # +country+ (the Ad Library region), +active_status+ (active or inactive
108
+ # ads), +media_type+ (image, video, etc.) and +max_ads+ (a cap on how many
109
+ # ads to return). Unset filters are dropped from the request and the API
110
+ # applies its own defaults.
111
+ def meta_ad_library(advertiser, country: nil, active_status: nil, media_type: nil, max_ads: nil)
112
+ post_json("/ads/meta-ad-library",
113
+ advertiser: advertiser, country: country, active_status: active_status,
114
+ media_type: media_type, max_ads: max_ads)
115
+ end
116
+
104
117
  # Search Oopbuy (1688, Taobao or official channel) and return the goods as a Hash.
105
118
  #
106
119
  # Returns matched products, each with spu, channel, title, titleCn, price,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScrapeUnblocker
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
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.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ScrapeUnblocker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-29 00:00:00.000000000 Z
11
+ date: 2026-09-02 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.