Socket
Socket
Sign inDemoInstall

google-it

Package Overview
Dependencies
89
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.3 to 1.5.0

.gitattributes

78

lib/googleIt.js

@@ -39,2 +39,4 @@ "use strict";

getSnippetSelector = _require2.getSnippetSelector,
getResultStatsSelector = _require2.getResultStatsSelector,
getResultCursorSelector = _require2.getResultCursorSelector,
logIt = _require2.logIt,

@@ -96,3 +98,5 @@ saveToFile = _require2.saveToFile,

linkSelector = _ref.linkSelector,
snippetSelector = _ref.snippetSelector;
snippetSelector = _ref.snippetSelector,
resultStatsSelector = _ref.resultStatsSelector,
cursorSelector = _ref.cursorSelector;
var $ = cheerio.load(data);

@@ -139,3 +143,16 @@ var results = [];

return results;
var resultStats = $(getResultStatsSelector(resultStatsSelector)).html() || '';
var approximateResults = ((resultStats.split(' results') || [''])[0].split('About ')[1] || '').replace(',', '');
var seconds = parseFloat((resultStats.split(' (')[1] || '').split(' seconds')[0]);
var cursor = $(getResultCursorSelector(cursorSelector)).html() || '';
var page = parseInt(cursor.split('</span>')[1], 10);
var stats = {
page: page,
approximateResults: approximateResults,
seconds: seconds
};
return {
results: results,
stats: stats
};
}

@@ -145,2 +162,3 @@

var filePath = _ref2.fromFile,
fromString = _ref2.fromString,
options = _ref2.options,

@@ -152,2 +170,3 @@ htmlFileOutputPath = _ref2.htmlFileOutputPath,

start = _ref2.start;
// eslint-disable-next-line consistent-return
return new Promise(function (resolve, reject) {

@@ -160,23 +179,29 @@ if (filePath) {

return resolve(data);
return resolve({
body: data
});
});
} else {
var defaultOptions = getDefaultRequestOptions({
limit: limit,
query: query,
userAgent: userAgent,
start: start
} else if (fromString) {
return resolve({
body: fromString
});
request(_objectSpread({}, defaultOptions, {}, options), function (error, response, body) {
if (error) {
reject(new Error("Error making web request: ".concat(error)));
}
}
saveResponse(response, htmlFileOutputPath);
resolve({
body: body,
response: response
});
var defaultOptions = getDefaultRequestOptions({
limit: limit,
query: query,
userAgent: userAgent,
start: start
});
request(_objectSpread({}, defaultOptions, {}, options), function (error, response, body) {
if (error) {
return reject(new Error("Error making web request: ".concat(error)));
}
saveResponse(response, htmlFileOutputPath);
return resolve({
body: body,
response: response
});
}
});
});

@@ -192,2 +217,4 @@ }

snippetSelector = config.snippetSelector,
resultStatsSelector = config.resultStatsSelector,
cursorSelector = config.cursorSelector,
start = config.start,

@@ -199,3 +226,4 @@ diagnostics = config.diagnostics;

response = _ref3.response;
var results = getResults({
var _getResults = getResults({
data: body,

@@ -208,4 +236,9 @@ noDisplay: config['no-display'],

snippetSelector: snippetSelector,
resultStatsSelector: resultStatsSelector,
cursorSelector: cursorSelector,
start: start
});
}),
results = _getResults.results,
stats = _getResults.stats;
var statusCode = response.statusCode;

@@ -224,3 +257,4 @@

body: body,
response: response
response: response,
stats: stats
});

@@ -227,0 +261,0 @@ }

@@ -9,3 +9,5 @@ "use strict";

GOOGLE_IT_LINK_SELECTOR = _process$env.GOOGLE_IT_LINK_SELECTOR,
GOOGLE_IT_SNIPPET_SELECTOR = _process$env.GOOGLE_IT_SNIPPET_SELECTOR; // NOTE:
GOOGLE_IT_SNIPPET_SELECTOR = _process$env.GOOGLE_IT_SNIPPET_SELECTOR,
GOOGLE_IT_RESULT_STATS_SELECTOR = _process$env.GOOGLE_IT_RESULT_STATS_SELECTOR,
GOOGLE_IT_CURSOR_SELECTOR = _process$env.GOOGLE_IT_CURSOR_SELECTOR; // NOTE:
// I chose the User-Agent value from http://www.browser-info.net/useragents

@@ -39,2 +41,4 @@ // Not setting one causes Google search to not display results

var snippetSelector = 'div.rc > div.s > div > span';
var resultStatsSelector = '#resultStats';
var cursorSelector = '#nav > tbody > tr > td.cur';

@@ -53,2 +57,10 @@ var getTitleSelector = function getTitleSelector(passedValue) {

var getResultStatsSelector = function getResultStatsSelector(passedValue) {
return passedValue || GOOGLE_IT_RESULT_STATS_SELECTOR || resultStatsSelector;
};
var getResultCursorSelector = function getResultCursorSelector(passedValue) {
return passedValue || GOOGLE_IT_CURSOR_SELECTOR || cursorSelector;
};
var logIt = function logIt(message, disableConsole) {

@@ -89,2 +101,5 @@ if (!disableConsole) {

getSnippetSelector: getSnippetSelector,
resultStatsSelector: resultStatsSelector,
getResultStatsSelector: getResultStatsSelector,
getResultCursorSelector: getResultCursorSelector,
logIt: logIt,

@@ -91,0 +106,0 @@ saveToFile: saveToFile,

{
"name": "google-it",
"version": "1.4.3",
"version": "1.5.0",
"description": "A CLI and Node.js library to help retrieve, display, and store Google search results",

@@ -13,3 +13,3 @@ "main": "./lib/main.js",

"build": "babel src -d lib",
"lint": "./node_modules/.bin/eslint --ext .js --ignore-path .eslintignore '*.js'",
"lint": "./node_modules/.bin/eslint 'src/*.js'",
"test": "jest",

@@ -48,3 +48,3 @@ "prepublish": "npm run build"

"babel-preset-amex": "^3.3.0",
"codecov": "^3.6.1",
"codecov": "^3.6.2",
"eslint": "^6.8.0",

@@ -51,0 +51,0 @@ "eslint-config-amex": "^11.1.0",

@@ -1,2 +0,2 @@

# google-it [![Build Status](https://travis-ci.org/PatNeedham/google-it.svg?branch=master)](https://travis-ci.org/PatNeedham/google-it) [![npm version](https://badge.fury.io/js/google-it.svg)](https://www.npmjs.com/package/google-it) [![Codecov Coverage](https://img.shields.io/codecov/c/github/PatNeedham/google-it/master.svg?style=flat-square)](https://codecov.io/gh/PatNeedham/google-it/)
# google-it [![Build Status](https://travis-ci.org/PatNeedham/google-it.svg?branch=master)](https://travis-ci.org/PatNeedham/google-it) [![npm version](https://badge.fury.io/js/google-it.svg)](https://www.npmjs.com/package/google-it) [![Codecov Coverage](https://img.shields.io/codecov/c/github/PatNeedham/google-it/master.svg?style=flat-square)](https://codecov.io/gh/PatNeedham/google-it/) [![Maintainability](https://api.codeclimate.com/v1/badges/fe8329b7641ea86326e4/maintainability)](https://codeclimate.com/github/PatNeedham/google-it/maintainability)

@@ -3,0 +3,0 @@ A simple library to convert Google search results to JSON output, with an interactive display option coming in the near future.

@@ -14,2 +14,4 @@ /* eslint-disable no-console */

getSnippetSelector,
getResultStatsSelector,
getResultCursorSelector,
logIt,

@@ -72,2 +74,4 @@ saveToFile,

snippetSelector,
resultStatsSelector,
cursorSelector,
}) {

@@ -108,8 +112,27 @@ const $ = cheerio.load(data);

}
return results;
const resultStats = $(getResultStatsSelector(resultStatsSelector)).html() || '';
const approximateResults = ((resultStats.split(' results') || [''])[0].split('About ')[1] || '').replace(',', '');
const seconds = parseFloat((resultStats.split(' (')[1] || '').split(' seconds')[0]);
const cursor = $(getResultCursorSelector(cursorSelector)).html() || '';
const page = parseInt(cursor.split('</span>')[1], 10);
const stats = {
page,
approximateResults,
seconds,
};
return { results, stats };
}
export function getResponse({
fromFile: filePath, options, htmlFileOutputPath, query, limit, userAgent, start,
fromFile: filePath,
fromString,
options,
htmlFileOutputPath,
query,
limit,
userAgent,
start,
}) {
// eslint-disable-next-line consistent-return
return new Promise((resolve, reject) => {

@@ -121,16 +144,17 @@ if (filePath) {

}
return resolve(data);
return resolve({ body: data });
});
} else {
const defaultOptions = getDefaultRequestOptions({
limit, query, userAgent, start,
});
request({ ...defaultOptions, ...options }, (error, response, body) => {
if (error) {
reject(new Error(`Error making web request: ${error}`));
}
saveResponse(response, htmlFileOutputPath);
resolve({ body, response });
});
} else if (fromString) {
return resolve({ body: fromString });
}
const defaultOptions = getDefaultRequestOptions({
limit, query, userAgent, start,
});
request({ ...defaultOptions, ...options }, (error, response, body) => {
if (error) {
return reject(new Error(`Error making web request: ${error}`));
}
saveResponse(response, htmlFileOutputPath);
return resolve({ body, response });
});
});

@@ -147,2 +171,4 @@ }

snippetSelector,
resultStatsSelector,
cursorSelector,
start,

@@ -153,3 +179,3 @@ diagnostics,

getResponse(config).then(({ body, response }) => {
const results = getResults({
const { results, stats } = getResults({
data: body,

@@ -162,2 +188,4 @@ noDisplay: config['no-display'],

snippetSelector,
resultStatsSelector,
cursorSelector,
start,

@@ -172,3 +200,5 @@ });

if (returnHtmlBody || diagnostics) {
return resolve({ results, body, response });
return resolve({
results, body, response, stats,
});
}

@@ -175,0 +205,0 @@ return resolve(results);

@@ -9,2 +9,4 @@ /* eslint-disable no-console */

GOOGLE_IT_SNIPPET_SELECTOR,
GOOGLE_IT_RESULT_STATS_SELECTOR,
GOOGLE_IT_CURSOR_SELECTOR,
} = process.env;

@@ -37,2 +39,4 @@

const snippetSelector = 'div.rc > div.s > div > span';
const resultStatsSelector = '#resultStats';
const cursorSelector = '#nav > tbody > tr > td.cur';

@@ -51,2 +55,10 @@ const getTitleSelector = (passedValue) => (

const getResultStatsSelector = (passedValue) => (
passedValue || GOOGLE_IT_RESULT_STATS_SELECTOR || resultStatsSelector
);
const getResultCursorSelector = (passedValue) => (
passedValue || GOOGLE_IT_CURSOR_SELECTOR || cursorSelector
);
const logIt = (message, disableConsole) => {

@@ -87,2 +99,5 @@ if (!disableConsole) {

getSnippetSelector,
resultStatsSelector,
getResultStatsSelector,
getResultCursorSelector,
logIt,

@@ -89,0 +104,0 @@ saveToFile,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc