go-image-go
Version:
A powerful package to get images from Google.
99 lines (84 loc) • 3.91 kB
JavaScript
'use strict';
module.exports = {
URLS: {
GIS: 'https://images.google.com/',
GOOGLE: 'https://google.com/',
W_GOOGLE: 'https://www.google.com/',
GOOGLE_NEWS: 'https://news.google.com/'
},
REGEX: {
IMAGE_SEARCH: /\["(http.*?)",(\d+),(\d+)]/g,
IMAGE_ORIGIN: /"(.+?)":\[null,"(.*?)","(.*?)","(.*?)",/g,
},
SELECTORS: {
// Organic Search Results
TITLE: 'div.yUTMj.MBeuO.ynAwRc.gsrt.PpBGzd.YcUVQe',
DESCRIPTION: 'div.MUxGbd.yDYNvb',
URL: 'a.C8nzq.BmP5tf',
// Did You Mean
DID_YOU_MEAN: 'a.gL9Hy',
// Knowledge Panel
KNO_PANEL_TITLE: ['div.BkwXh > div', 'div > span.u9DLmf'],
KNO_PANEL_DESCRIPTION: 'div[class="kno-rdesc"] > span',
KNO_PANEL_URL: 'div[class="kno-rdesc"] > span > a',
KNO_PANEL_METADATA: 'div.rVusze > span',
KNO_PANEL_TYPE: 'div.BkwXh > div',
KNO_PANEL_SONG_LYRICS: 'div.ujudUb',
KNO_PANEL_AVAILABLE_ON: 'div[class="ellip bclEt"]',
KNO_PANEL_IMAGES: 'div > g-scrolling-carousel > div > div > div > g-inner-card > g-img > img',
KNO_PANEL_BOOKS: 'div[data-attrid="kc:/book/author:books only"] > a > div > div > div.Bo9xMe > div',
KNO_PANEL_TV_SHOWS_AND_MOVIES: 'div[data-attrid="kc:/people/person:tv-shows-and-movies"] > a > div > div > div.Bo9xMe > div',
KNO_PANEL_FILM_GOOGLEUSERS_RATING: 'div[data-attrid="kc:/ugc:thumbs_up"] > div > div > div',
KNO_PANEL_FILM_RATINGS: ['span[class="gsrt KMdzJ"]', 'span[class="rhsB pVA7K"]'],
// Featured Snippet
FEATURED_SNIPPET_TITLE: ['div[class="co8aDb gsrt"]', 'a[class="sXtWJb gsrt"]', 'div[class="Xv4xee"]'],
FEATURED_SNIPPET_DESC: ['ol[class="X5LH0c"]', 'ul[class="i8Z77e"]', 'div[data-attrid="wa:/description"]'],
FEATURED_SNIPPET_URL: 'div > div > h3 > a',
// Unit converter
UNIT_CONVERTER_INPUT: 'div.rpnBye > input',
UNIT_CONVERTER_OUTPUT: 'div[id="NotFQb"] > input',
UNIT_CONVERTER_FORMULA: 'div.bjhkR',
INPUT_CURRENCY_NAME: 'span.vLqKYe',
OUTPUT_CURRENCY_NAME: 'span.MWvIVe',
CURRENCY_CONVERTER_INPUT: 'span.DFlfde.eNFL1',
CURRENCY_CONVERTER_OUTPUT: 'span.DFlfde.SwHCTb',
// Weather forecast
WEATHER_LOCATION: 'div.wob_hdr > div[id="wob_loc"]',
WEATHER_FORECAST: 'div.wob_dsc',
PRECIPITATION: 'div.wob_dtf > div > span[id="wob_pp"]',
AIR_HUMIDITY: 'div.wob_dtf > div > span[id="wob_hm"]',
TEMPERATURE: 'div > span[id="wob_tm"]',
WIND_SPEED: 'span[id="wob_ws"]',
// Time result, E.g: try searching “what time is it in Japan?”
CURRENT_TIME_HOUR: 'div.gsrt.vk_bk.dDoNo.FzvWSb.XcVN5d',
CURRENT_TIME_DATE: 'div.vk_gy.vk_sh',
// Location result
LOCATION_TITLE: 'div.vk_sh.vk_gy',
LOCATION_DISTANCE: 'div.dDoNo.FzvWSb.vk_bk',
LOCATION_IMAGE: 'div.vk_c > div > a > img',
// Google Dictionary
GD_WORD: 'span[data-dobid="hdw"]',
GD_PHONETIC: 'div[class="S23sjd"]',
GD_AUDIO: 'audio > source',
GD_DEFINITIONS: 'div[data-dobid="dfn"]',
GD_EXAMPLES: 'div[class="ubHt5c"]',
// Google Translator
TR_SOURCE_LANGUAGE: 'div[class="j1iyq"] > span[class="source-language"]',
TR_TARGET_LANGUAGE: 'div[class="j1iyq"] > span[class="target-language"]',
TR_SOURCE_TEXT: 'pre[id="tw-source-text"] > span[class="Y2IQFc"]',
TR_TARGET_TEXT: 'pre[id="tw-target-text"] > span[class="Y2IQFc"]',
// Top Stories
TOP_STORIES_DESCRIPTION: ['div.g5wfEd', 'div.VeOk3'],
TOP_STORIES_URL: 'a.WlydOe.amp_r',
TOP_STORIES_SNIPPET: 'div[class="g5wfEd"] > div[role="heading"]',
TOP_STORIES_WEBSITE: 'div[class="g5wfEd"] > div > g-img > img',
// “People also ask”
PAA: ['div.wWOJcd > div > span', 'div > div > span.JCaUEf', 'div.s75CSd', 'div.s75CSd.u60jwe.gduDCb > span'],
// “People also search for”
PASF: 'div[class="IHdOHf"] > img',
// Top News
PUBLISHER: 'a[data-n-tid="9"]',
STORY_IMG: 'img[class="tvs3Id QwxBBf"]',
STORY_TIME: 'time'
}
};