scrapeunblocker 0.10.0 → 0.10.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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/scrapeunblocker/client.rb +2 -2
- data/lib/scrapeunblocker/plugins.rb +10 -11
- data/lib/scrapeunblocker/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 14be9ee13840a5574c9924bf39c16b15ecf05c7e4cde02091840034013474c90
|
|
4
|
+
data.tar.gz: e915ed083458bad3fcc0bdbf1be03347052582a97f8e0955daa86ede3b535eff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5d9ccb478cbf809a1c747b578946a08e0fb30a0e8d968d5eda0cd8389f7c572825e37772c1f0ec590b8ba618d47748262de8a65c773e8fa0ade262b0cb75d471
|
|
7
|
+
data.tar.gz: c43112450a0ffebabf538bb3a0cb50d2a74be3c0de0712f8e138a34d226b8eb7710f6e9b78560280412d2001e7860439ef3c1d1975559f67519df0bb6d838262
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.1 (2026-10-13)
|
|
4
|
+
|
|
5
|
+
- `tiktok_shop_search` takes its keyword as optional, so a category-only search works (`category` option).
|
|
6
|
+
- `aldi_au_specials` takes `category`: a Special Buys drop date such as `2026-10-14`.
|
|
7
|
+
- `capterra_search` no longer offers `page` and `app_store_reviews` no longer offers `lang`; the API ignored both for those calls.
|
|
8
|
+
- Method docs say "proxy country" where they said "exit-IP country", and drop internal routing notes.
|
|
9
|
+
|
|
3
10
|
## 0.10.0 (2026-10-13)
|
|
4
11
|
|
|
5
12
|
- 104 new plugin methods on `ScrapeUnblocker::Client`, one for every public plugin endpoint: e-commerce (Walmart, Target, Best Buy, Home Depot, Etsy, Temu, SHEIN, Zalando, AliExpress, Alibaba, 1688, TikTok Shop, Amazon Best Sellers and reviews), groceries (Woolworths, Coles, ALDI Australia), travel (Booking.com reviews, Airbnb listings and reviews, Tripadvisor), Google (Trends, Shopping, Jobs, Maps place details), Bing / DuckDuckGo / Yahoo / Brave search and images, real estate (Zillow, Redfin, Rightmove, Idealista, ImmobilienScout24), vehicles (mobile.de, AutoScout24), jobs (Indeed, Glassdoor, Naukri, Wellfound, company career sites), reviews and companies (Trustpilot, G2, Capterra, Product Hunt, Crunchbase), Yelp, Naver Place, Google Play, the App Store, YouTube, Spotify, Telegram, Quora, Similarweb, Ahrefs and Semrush. The README lists them by category; every parameter is on the docs plugin pages.
|
|
@@ -151,7 +151,7 @@ module ScrapeUnblocker
|
|
|
151
151
|
# originalPrice, priceCny, monthSold, image and url. +channel+ is one of
|
|
152
152
|
# "1688" (default), "taobao" or "official"; +sort+ is one of "default",
|
|
153
153
|
# "price_asc", "price_desc" or "best_selling". +page_size+ max is 60.
|
|
154
|
-
#
|
|
154
|
+
# A brand keyword returns 200 with keywordRejected = true and no products.
|
|
155
155
|
def oopbuy_search(keyword, channel: "1688", page: 1, page_size: 20, sort: "default", proxy_country: nil)
|
|
156
156
|
post_json("/goods/oopbuy-search",
|
|
157
157
|
keyword: keyword, channel: channel, page: page,
|
|
@@ -192,7 +192,7 @@ module ScrapeUnblocker
|
|
|
192
192
|
# availability, rating, review count, seller, feature bullets, categories
|
|
193
193
|
# and images. Prices come back in the marketplace's own currency:
|
|
194
194
|
# +proxy_country+ defaults to the marketplace's home country
|
|
195
|
-
# (amazon.com -> US)
|
|
195
|
+
# (amazon.com -> US). Pass either
|
|
196
196
|
# +asin+ (with +marketplace+) or a full product +url+.
|
|
197
197
|
def amazon_product(asin: nil, url: nil, marketplace: "amazon.com", proxy_country: nil)
|
|
198
198
|
post_json("/marketplace/amazon-product",
|
|
@@ -554,7 +554,7 @@ module ScrapeUnblocker
|
|
|
554
554
|
# @param max_results [Integer] Products to return (1-30). One page is read: a keyword lists
|
|
555
555
|
# up to 30 products, a category about 15. API default: 30.
|
|
556
556
|
# Calls POST /social/tiktok-shop-search.
|
|
557
|
-
def tiktok_shop_search(q, category: nil, max_results: nil)
|
|
557
|
+
def tiktok_shop_search(q = nil, category: nil, max_results: nil)
|
|
558
558
|
post_json("/social/tiktok-shop-search", {
|
|
559
559
|
q: q,
|
|
560
560
|
category: category,
|
|
@@ -1080,6 +1080,11 @@ module ScrapeUnblocker
|
|
|
1080
1080
|
# prices in AUD (ALDI Australia does not sell groceries online). Listings collect up to
|
|
1081
1081
|
# `max_results` from `page` on, billed one unit per page.
|
|
1082
1082
|
#
|
|
1083
|
+
# @param category [String] mode=category: a category link
|
|
1084
|
+
# (https://www.aldi.com.au/products/dairy-eggs-fridge/milk/k/1111111160) or its key
|
|
1085
|
+
# ('1111111160'; '1588161425841179' = Lower Prices). mode=specials: the Special Buys drop -
|
|
1086
|
+
# its date ('2026-10-14') or link (https://www.aldi.com.au/special-buys/2026-10-14); blank =
|
|
1087
|
+
# the current drop.
|
|
1083
1088
|
# @param theme [String] mode=specials: one theme of the drop, e.g. 'Gardening' (see
|
|
1084
1089
|
# `promotions[].themes`).
|
|
1085
1090
|
# @param sort [String] Listing order: relevance, price_asc, price_desc, name_asc, name_desc.
|
|
@@ -1091,9 +1096,10 @@ module ScrapeUnblocker
|
|
|
1091
1096
|
# @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'AU',
|
|
1092
1097
|
# 'US'). Leave blank: ALDI answers every country, so the load spreads over all exits.
|
|
1093
1098
|
# Calls POST /groceries/aldi-au.
|
|
1094
|
-
def aldi_au_specials(theme: nil, sort: nil, page: nil, max_results: nil, proxy_country: nil)
|
|
1099
|
+
def aldi_au_specials(category: nil, theme: nil, sort: nil, page: nil, max_results: nil, proxy_country: nil)
|
|
1095
1100
|
post_json("/groceries/aldi-au", {
|
|
1096
1101
|
mode: "specials",
|
|
1102
|
+
category: category,
|
|
1097
1103
|
theme: theme,
|
|
1098
1104
|
sort: sort,
|
|
1099
1105
|
page: page,
|
|
@@ -2757,20 +2763,16 @@ module ScrapeUnblocker
|
|
|
2757
2763
|
# avoids it. Billed one unit per page fetched (`pagesFetched`).
|
|
2758
2764
|
#
|
|
2759
2765
|
# @param query [String] Product name or keyword to search for (mode=search), e.g. 'crm'.
|
|
2760
|
-
# @param page [Integer] 1-based review page to start from: 25 reviews per page, at most 100
|
|
2761
|
-
# (Capterra's limit per product). Use the `nextPage` of a previous response to continue. API
|
|
2762
|
-
# default: 1.
|
|
2763
2766
|
# @param max_results [Integer] How many reviews to collect across pages (1-500, default 25);
|
|
2764
2767
|
# each page fetched is one billed unit. With mode=search, how many products (1-20, default
|
|
2765
2768
|
# 20; one page).
|
|
2766
2769
|
# @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
|
|
2767
2770
|
# 'DE'). Leave blank for the country chosen for the site.
|
|
2768
2771
|
# Calls POST /reviews/capterra.
|
|
2769
|
-
def capterra_search(query,
|
|
2772
|
+
def capterra_search(query, max_results: nil, proxy_country: nil)
|
|
2770
2773
|
post_json("/reviews/capterra", {
|
|
2771
2774
|
mode: "search",
|
|
2772
2775
|
query: query,
|
|
2773
|
-
page: page,
|
|
2774
2776
|
max_results: max_results,
|
|
2775
2777
|
proxy_country: proxy_country,
|
|
2776
2778
|
})
|
|
@@ -3227,8 +3229,6 @@ module ScrapeUnblocker
|
|
|
3227
3229
|
# ('net.whatsapp.WhatsApp').
|
|
3228
3230
|
# @param country [String] App Store country (ISO-2), e.g. 'us', 'gb', 'de'. Prices, ratings
|
|
3229
3231
|
# and reviews are per country. Default: the country in an app URL, else 'us'.
|
|
3230
|
-
# @param lang [String] Listing language for mode=app / mode=search, e.g. 'fr' or 'fr-CA'
|
|
3231
|
-
# (for countries whose store has several languages). Default: the store's own.
|
|
3232
3232
|
# @param max_results [Integer] mode=search: apps to return (1-200). mode=reviews: reviews to
|
|
3233
3233
|
# collect (1-500); Apple serves 50 per page and at most 10 pages per country, each page
|
|
3234
3234
|
# billed as one request. API default: 50.
|
|
@@ -3240,12 +3240,11 @@ module ScrapeUnblocker
|
|
|
3240
3240
|
# @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
|
|
3241
3241
|
# 'DE'). Leave blank to let the API pick.
|
|
3242
3242
|
# Calls POST /apps/app-store.
|
|
3243
|
-
def app_store_reviews(app_id, country: nil,
|
|
3243
|
+
def app_store_reviews(app_id, country: nil, max_results: nil, sort: nil, page: nil, proxy_country: nil)
|
|
3244
3244
|
post_json("/apps/app-store", {
|
|
3245
3245
|
mode: "reviews",
|
|
3246
3246
|
app_id: app_id,
|
|
3247
3247
|
country: country,
|
|
3248
|
-
lang: lang,
|
|
3249
3248
|
max_results: max_results,
|
|
3250
3249
|
sort: sort,
|
|
3251
3250
|
page: page,
|