diff --git a/README.md b/README.md index e3070c0..c8978bb 100644 --- a/README.md +++ b/README.md @@ -27,11 +27,12 @@ WelsonJS = ***W***indows + ***El***ectr***on***-like + ***Javascript(JS)*** + :h ## Sponsors * :octocat: [GitHub Sponsors](https://github.com/sponsors/gnh1201), :coffee: [Buy me a coffee](https://buymeacoffee.com/catswords) +* [SerpApi](https://serpapi.com/?utm_source=welsonjs) - Scrape search engines results with simple API. * [Open SW Portal](https://oss.kr), NIPA National IT Industry Promotion Agency(정보통신산업진흥원) * Free code signing provided by [SignPath.io](https://signpath.io), certificate by [SignPath Foundation](https://signpath.org/) * [F1Security(에프원시큐리티)](https://f1security.co.kr/) provides [industry-leading](https://www.ksecurity.or.kr/kisis/subIndex/469.do) web security services. * [Microsoft ISV Success Program](https://www.microsoft.com/en-us/isv/isv-success), Grow your business with powerful tools. -* :zap: [Integrations](https://catswords-oss.rdbl.io/5719744820/8278298336) ([ScrapeOps](https://scrapeops.io?fpr=namhyeon75), [SearchApi](https://www.searchapi.io/?via=namhyeon), [AviationStack](https://aviationstack.com?utm_source=FirstPromoter&utm_medium=Affiliate&fpr=namhyeon71), [Coupang](https://link.coupang.com/a/b7HV3V)...) +* :zap: [Integrations](https://catswords-oss.rdbl.io/5719744820/8278298336) ([ScrapeOps](https://scrapeops.io?fpr=namhyeon75), [AviationStack](https://aviationstack.com?utm_source=FirstPromoter&utm_medium=Affiliate&fpr=namhyeon71), [Coupang](https://link.coupang.com/a/b7HV3V)...) ## System Requirements * **Operating Systems**: Windows XP SP3 or later (Currently, Windows 11 24H2) diff --git a/data/apikey.json b/data/apikey.json index e13fb55..178fc56 100644 --- a/data/apikey.json +++ b/data/apikey.json @@ -10,7 +10,7 @@ "clovastudio": "file:data/clovastudio_apikey.txt", "catswords-ai": "file:data/catswords_ai_apikey.txt", "scrapeops": "file:data/scrapeops_apikey.txt", - "searchapi": "file:data/searchapi_apikey.txt", + "serpapi": "file:data/serp_apikey.txt", "aviationstack": "file:data/aviationstack_apikey.txt", "abuseipdb": "file:data/abuseipdb_apikey.txt" } diff --git a/data/available_proxies.json b/data/available_proxies.json index 4284dee..732cd91 100644 --- a/data/available_proxies.json +++ b/data/available_proxies.json @@ -13,9 +13,9 @@ }, { "type": "serp", - "provider": "searchapi", - "url": "https://www.searchapi.io/api/v1/search?api_key={api_key}&engine={engine}&q={q}", - "documentation": "https://www.searchapi.io/?via=namhyeon" + "provider": "serpapi", + "url": "https://serpapi.com/search.json?api_key={api_key}&engine={engine}&q={q}", + "documentation": "https://serpapi.com/?utm_source=welsonjs" }, { "type": "serp", diff --git a/lib/aviation.js b/lib/aviation.js index 18c00f9..1999cb9 100644 --- a/lib/aviation.js +++ b/lib/aviation.js @@ -4,13 +4,16 @@ // https://github.com/gnh1201/welsonjs // // SECURITY NOTICE -// AviationStack, SearchApi requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy. +// AviationStack, SerpApi requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy. // https://aviationstack.com/?utm_source=FirstPromoter&utm_medium=Affiliate&fpr=namhyeon71 -// https://www.searchapi.io/?via=namhyeon +// https://serpapi.com/security?utm_source=welsonjs // var HTTP = require("lib/http"); var CRED = require("lib/credentials"); +var DEFAULT_CURRENCY = "USD"; +var DEFAULT_LANGUAGE_CODE = "en"; + function getData(type, params, limit, offset) { var params = params || {}; var limit = (function(n) { @@ -71,15 +74,16 @@ function getFlightsFuture(params, limit, offset) { function getRoundTrip(arrival_id, departure_id, outbound_date, return_date) { var response = HTTP.create() .setParameters({ - "api_key": CRED.get("apikey", "searchapi"), - "arrival_id": arrival_id, - "departure_id": departure_id, - "engine": "google_flights", - "flight_type": "round_trip", - "outbound_date": outbound_date, - "return_date": return_date + engine: "google_flights", + departure_id: departure_id, + arrival_id: arrival_id, + outbound_date: outbound_date, + return_date: return_date, + currency: DEFAULT_CURRENCY, + hl: DEFAULT_LANGUAGE_CODE, + api_key: CRED.get("apikey", "serpapi") }) - .open("GET", "https://www.searchapi.io/api/v1/search") + .open("GET", "https://serpapi.com/search.json") .send(); return response.responseBody; @@ -88,14 +92,16 @@ function getRoundTrip(arrival_id, departure_id, outbound_date, return_date) { function getOneWay(arrival_id, departure_id, outbound_date) { var response = HTTP.create() .setParameters({ - "api_key": CRED.get("apikey", "searchapi"), - "arrival_id": arrival_id, - "departure_id": departure_id, - "engine": "google_flights", - "flight_type": "one_way", - "outbound_date": outbound_date + engine: "google_flights", + departure_id: departure_id, + arrival_id: arrival_id, + outbound_date: outbound_date, + return_date: "", + currency: DEFAULT_CURRENCY, + hl: DEFAULT_LANGUAGE_CODE, + api_key: CRED.get("apikey", "serpapi") }) - .open("GET", "https://www.searchapi.io/api/v1/search") + .open("GET", "https://serpapi.com/search.json") .send(); return response.responseBody; @@ -114,7 +120,7 @@ exports.getFlightsFuture = getFlightsFuture; exports.getRoundTrip = getRoundTrip; exports.getOneWay = getOneWay; -exports.VERSIONINFO = "Aviation Data Integration (aviation.js) version 0.1.3"; +exports.VERSIONINFO = "Aviation Data Integration (aviation.js) version 0.1.4"; exports.AUTHOR = "gnh1201@catswords.re.kr"; exports.global = global; exports.require = global.require; diff --git a/testloader.js b/testloader.js index 572c2a7..60b5c2d 100644 --- a/testloader.js +++ b/testloader.js @@ -1029,18 +1029,18 @@ var test_implements = { console.log("responseBody:", response.responseBody); }, - // https://catswords-oss.rdbl.io/5719744820/8278298336 + // How to use: https://catswords-oss.rdbl.io/5719744820/8278298336 "proxy_serp": function() { var HTTP = require("lib/http"); var CRED = require("lib/credentials"); var response = HTTP.create() .setVariables({ - "api_key": CRED.get("apikey", "searchapi") + "api_key": CRED.get("apikey", "serpapi") }) .setProxy({ "enabled": true, - "provider": "searchapi", + "provider": "serpapi", "type": "serp" }) .open("GET", "https://www.google.com/search?q=test")