From f2d4c42a7d484a321766c8866d8ce76f455c2104 Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Thu, 16 Jan 2020 12:15:44 -0500 Subject: [PATCH] Scraping Google is a lost cause --- assets/json/user-agent.json | 3 --- commands/search/google.js | 26 ++------------------------ 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 assets/json/user-agent.json diff --git a/assets/json/user-agent.json b/assets/json/user-agent.json deleted file mode 100644 index 95154025..00000000 --- a/assets/json/user-agent.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.118 Safari/537.36" -} diff --git a/commands/search/google.js b/commands/search/google.js index 438170b2..89fc5432 100644 --- a/commands/search/google.js +++ b/commands/search/google.js @@ -1,8 +1,5 @@ const Command = require('../../structures/Command'); const request = require('node-superfetch'); -const cheerio = require('cheerio'); -const querystring = require('querystring'); -const { agent } = require('../../assets/json/user-agent'); const { GOOGLE_KEY, CUSTOM_SEARCH_ID } = process.env; module.exports = class GoogleCommand extends Command { @@ -44,33 +41,14 @@ module.exports = class GoogleCommand extends Command { let href; const nsfw = msg.channel.nsfw || false; try { - href = await this.searchGoogle(query, nsfw); + href = await this.customSearch(query, nsfw); } catch (err) { - try { - href = await this.customSearch(query, nsfw); - } catch (err2) { - href = `http://lmgtfy.com/?iie=1&q=${encodeURIComponent(query)}`; - } + href = `http://lmgtfy.com/?iie=1&q=${encodeURIComponent(query)}`; } if (!href) return msg.say('Could not find any results.'); return msg.say(href); } - async searchGoogle(query, nsfw) { - const { text } = await request - .get('https://www.google.com/search') - .query({ - safe: nsfw ? 'off' : 'on', - q: query - }) - .set('User-Agent', agent); - const $ = cheerio.load(text); - let href = $('.r').first().find('a').first().attr('href'); - if (!href) return null; - href = querystring.parse(href.replace('/url?', '')); - return href.q; - } - async customSearch(query, nsfw) { const { body } = await request .get('https://www.googleapis.com/customsearch/v1')