Coder Social home page Coder Social logo

lewisdonovan / google-news-scraper Goto Github PK

View Code? Open in Web Editor NEW
207.0 10.0 55.0 292 KB

Lightweight scraper for Google News

JavaScript 100.00%
google-news google-news-scraper news news-scraper news-articles web-scraper crawler web-crawler news-crawler google-crawler

google-news-scraper's People

Contributors

dependabot[bot] avatar hahagu avatar hakizimana-fred avatar hugoduar avatar lewisdonovan avatar ole-ve avatar sv-shivansh avatar thatfreakcoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

google-news-scraper's Issues

Premature close

Hello!
When I tried to utilize this package to get news off google I had this weird response
Invalid response body while trying to fetch https://news.google.com/articles/CBMiSWh0dHBzOi8vdGFzdGVvZmNvdW50cnkuY29tL25vYWgtdGhvbXBzb24taHVudGVyZ2lybC1vbmUtZGF5LXRvbmlnaHQtaWRvbC_SAQA?hl=en-US&gl=US&ceid=US%3Aen: Premature close
Hoping you can look into it. thanks, plus the package breaks on higher version of nodejs 14. I always had to use import statements in the nodemodules,
Regards
Fred

News Sorted

Not really a bug, just a question.

Since there's no date object, is there a way to have news sorted. For example I would like to show latest news at the top

Heroku empty results

May be google have some protection on Heroku IP? Or GDPR prompt?

Instead of page with news Puppeteer return to me some weird page with a lot of js script. I see inside code like

jsdata="deferred-i1" data-p="%.@.[[null,null,"https://consent.google.com/d?continue\u003dhttps://news.google.com/search?

and then my query.

Just going to consent.google.com end's with 404 page

Issue on Pupppeteer

// Require the package
import googleNewsScraper from 'google-news-scraper';

// Execute within an async function, pass a config object (further documentation below)
const getArticles = async () => {
const articles = await googleNewsScraper({
searchTerm: "The Oscars",
prettyURLs: false,
queryVars: {
hl:"en-US",
gl:"US",
ceid:"US:en"
},
timeframe: "5d",
//puppeteerArgs: []
})
console.log(articles);
}

The ERROR:
(node:25941) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use node --trace-warnings ... to show where the warning was created)
/Users/cleogao/Documents/work/test-api/backend/node_modules/google-news-scraper/index.js:3
import puppeteer from 'puppeteer'
^^^^^^

SyntaxError: Cannot use import statement outside a module
at Object.compileFunction (node:vm:352:18)
at wrapSafe (node:internal/modules/cjs/loader:1033:15)
at Module._compile (node:internal/modules/cjs/loader:1069:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at ModuleWrap. (node:internal/modules/esm/translators:170:29)
at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
[nodemon] app crashed - waiting for file changes before starting...

Import module error with NestJS

Hi,
I've tried to add google-news-scraper to my project which uses NestJS and I get this error :

[11:41:16] Starting compilation in watch mode...

[11:41:18] Found 0 errors. Watching for file changes.

/Users/pierre/meta/scraper/node_modules/google-news-scraper/index.js:3
import puppeteer from 'puppeteer'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1088:15)
    at Module._compile (node:internal/modules/cjs/loader:1123:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Function.Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/Users/pierre/meta/scraper/src/feed/application/feed.service.ts:4:1)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)

Have I missed something ?

Pupeeter problem when app is deployed

message": "Failed to launch the browser process!\n/app/node_modules/puppeteer/.local-chromium/linux-756035/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory\n\n\nTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md\n"
I've deployed a script that depends on this package but I've been getting this constant error message, Yet the script runs fine locally.

Error: Could not find Chrome

Hi,

I seem to be getting this error everytime, my news scrapper cloud function runs.
Is anyone else experiencing this?

"An error occurred: Error: Could not find Chrome (ver. 122.0.6261.94). This can occur if either

  1. you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or
  2. your cache path is incorrectly configured (which is: /root/.cache/puppeteer).
    For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
    at ChromeLauncher.resolveExecutablePath (/workspace/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js:285:27)
    at ChromeLauncher.executablePath (/workspace/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:196:25)
    at ChromeLauncher.computeLaunchArguments (/workspace/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:89:37)
    at async ChromeLauncher.launch (/workspace/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js:70:28)
    at async googleNewsScraper (/workspace/node_modules/google-news-scraper/index.js:29:19)
    at async generateGoogleNews (/workspace/lib/cron_jobs/google_news_scrapper/load_google_news_scraper.js:57:39)
    at async loadGoogleNewsScraperFunction (/workspace/lib/cron_jobs/google_news_scrapper/load_google_news_scraper.js:12:9)
    at async httpFunc (/workspace/node_modules/firebase-functions/lib/v2/providers/scheduler.js:67:13)"

Use as an API?

Hi,

How can I incorporate this into a react app I'm building? I'd ideally like to get the JSON results and do some machine learning tasks on the returned data. Would you be able to make this into a node library that would return JSON data when called?

Also, is there a way to get results from the homepage? Kind of like a top headlines/latest news selection.

Thanks!

Config ignored?

Hi,
I'm using it like this:
const articles = await googleNewsScraper({ searchTerm: "The Oscars"});
but whatever term I use it seem to ignore it: "SCRAPING NEWS FROM: https://news.google.com/search"
I also tried
await googleNewsScraper({ "searchTerm": "The Oscars", puppeteerHeadlessMode: false });
But puppeteer doe not appear. Seems config is ignored. Any idea?

Full script:
const googleNewsScraper = require("google-news-scraper");
scrapeGoogle()
async function scrapeGoogle(){
const articles = await googleNewsScraper({ "searchTerm": "Roma", puppeteerHeadlessMode: false });
console.log(articles)
}

ERROR REJECTING COOKIES: Error: No element found for selector: [aria-label="Reject all"]

Hi,

In production, I seem to be getting the below all the time, when calling the API.
All the news gets returned as expected. No issues.

Do I need to worry about the below, or perhaps I should just ignore it?

DEFAULT 2023-12-31T17:39:19.652014Z SCRAPING NEWS FROM: https://news.google.com/search?hl=en-US&gl=US&ceid=US:en&q=mamelodi sundowns when:5d
DEFAULT 2023-12-31T17:39:33.402470Z ERROR REJECTING COOKIES: Error: No element found for selector: [aria-label="Reject all"]
DEFAULT 2023-12-31T17:39:33.402493Z at assert (/workspace/node_modules/google-news-scraper/node_modules/puppeteer/lib/cjs/puppeteer/common/assert.js:26:15)
DEFAULT 2023-12-31T17:39:33.402499Z at DOMWorld.click (/workspace/node_modules/google-news-scraper/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:455:32)
DEFAULT 2023-12-31T17:39:33.402503Z at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
DEFAULT 2023-12-31T17:39:33.402508Z at async Promise.all (index 0)
DEFAULT 2023-12-31T17:39:33.402512Z at async googleNewsScraper (/workspace/node_modules/google-news-scraper/index.js:47:9)
DEFAULT 2023-12-31T17:39:33.402518Z at async generateGoogleNews (/workspace/lib/cron_jobs/google_news_scrapper/load_google_news_scraper.js:51:39)
DEFAULT 2023-12-31T17:39:33.402524Z at async loadGoogleNewsScraperFunction (/workspace/lib/cron_jobs/google_news_scrapper/load_google_news_scraper.js:12:9)
DEFAULT 2023-12-31T17:39:33.402530Z at async httpFunc (/workspace/node_modules/firebase-functions/lib/v2/providers/scheduler.js:67:13)

Pretty URLS

when pretty urls argument is set to true, the following error occurs: failed, reason: read ECONNRESET

Vercel Support

This module doesn't work on vercel, when i tried host it.
Any solution to this issue then let me know.

Faster - PrettyURL

I've worked up an enhancement to increase the speed of the final URL. The final URL is already hard coded into the news.google.com link. It appears its some sort of base64 decoding.

function decodeBase64FromUrl(url) {
  const base64Pattern = /articles\/([A-Za-z0-9+_\-\/=]+)/;
  const match = url.match(base64Pattern);

  if (match && match[1]) {
    const base64EncodedUrl = match[1].replace(/-/g, "+").replace(/_/g, "/");
    try {
      let decodedUrl = Buffer.from(base64EncodedUrl, "base64").toString(
        "ascii",
      );
      const parts = decodedUrl.split(/[^\x20-\x7E]+/).filter(Boolean);
      const urlPattern = /(https?:\/\/[^\s]+)/;

      for (let part of parts) {
        const urlMatch = part.match(urlPattern);
        if (urlMatch && urlMatch[1]) {
          // Return the object containing both urlID and finalURL
          return {
            urlID: match[1],
            finalURL: urlMatch[1].replace(/R$/, ""),
          };
        }
      }

      console.error("No valid URL found in the decoded string:", decodedUrl);
    } catch (error) {
      console.error(
        "Error decoding Base64 string:",
        base64EncodedUrl,
        "Original URL:",
        url,
        "Error:",
        error.message,
      );
    }
  } else {
    console.error("No Base64 segment found in the URL. Original URL:", url);
  }

  // Return null or an empty object if no data could be extracted
  return null; // or return {};
}

The part of the URL that has the final URL encoded is here:

/rss/articles/CBMihgFodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vbmV3cy9iaXRjb2luX2NvbTo0YTZiYjZlM2YwOTRiOjAtdGV4YXMtZWxlY3RyaWMtdXRpbGl0eS1jb3VydHMtdW5uYW1lZC1jcnlwdG8tbWluZXJzLXdpdGgtZml2ZS15ZWFyLWRlYWxzL9IBAA?oc=5,

however this has some non-ASCII characters that dont follow normal base64 encoded measures, so I made some modifications to only allow http/https in the front, remove the trailing "R" that always appears and any non-ASCII characters at the end. and to only keep the first occurrence I noticed sometimes it would repeat due to possible non-ASCII characters, etc.

{
  "originalUrl": "https://news.google.com/rss/articles/CBMidmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTMvbGVkZ2VyLWNvaW5iYXNlLXBheS1pbnRlZ3JhdGUtdG8tZ2l2ZS11c2Vycy1kaXJlY3QtYWNjZXNzLXRvLWJ1eS1zZWxsLWNyeXB0by_SAXpodHRwczovL3d3dy5jb2luZGVzay5jb20vdGVjaC8yMDI0LzAyLzEzL2xlZGdlci1jb2luYmFzZS1wYXktaW50ZWdyYXRlLXRvLWdpdmUtdXNlcnMtZGlyZWN0LWFjY2Vzcy10by1idXktc2VsbC1jcnlwdG8vYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/tech/2024/02/13/ledger-coinbase-pay-integrate-to-give-users-direct-access-to-buy-sell-crypto/zhttps://www.coindesk.com/tech/2024/02/13/ledger-coinbase-pay-integrate-to-give-users-direct-access-to-buy-sell-crypto/amp/"
}

Base64 Decode Sample: ��"��https://www.tradingview.com/news/bitcoin_com:4a6bb6e3f094b:0-texas-electric-utility-courts-unnamed-crypto-miners-with-five-year-deals/��

Example

{
  "originalUrl": "https://news.google.com/rss/articles/CBMihgFodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vbmV3cy9iaXRjb2luX2NvbTo0YTZiYjZlM2YwOTRiOjAtdGV4YXMtZWxlY3RyaWMtdXRpbGl0eS1jb3VydHMtdW5uYW1lZC1jcnlwdG8tbWluZXJzLXdpdGgtZml2ZS15ZWFyLWRlYWxzL9IBAA?oc=5",
  "cleanedUrl": "https://www.tradingview.com/news/bitcoin_com:4a6bb6e3f094b:0-texas-electric-utility-courts-unnamed-crypto-miners-with-five-year-deals/"
}

This will drastically speed up the prettyURL and it won't require the use of puppeteer to do so.

This full output completed in 2.4 seconds.

{
  "originalUrl": "https://news.google.com/rss/articles/CBMiWGh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy9jdXJiLXlvdXItZW50aHVzaWFzbS1jcnlwdG8tcHJpY2VzLW1vdmUtcXVpY2tseS15b3UtdGhpbmvSAQA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/curb-your-enthusiasm-crypto-prices-move-quickly-you-think"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiRWh0dHBzOi8vZm9yZWlnbnBvbGljeS5jb20vMjAyNC8wMi8xOC9jcnlwdG8tZnR4LWJpdGNvaW4tYnViYmxlLWZyYXVkL9IBAA?oc=5",
  "cleanedUrl": "https://foreignpolicy.com/2024/02/18/crypto-ftx-bitcoin-bubble-fraud/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiRmh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy9hbmdyaWVzdC1pdmUtZXZlci0yNC1vbGQtMTIxMzAwNTU2Lmh0bWzSAQA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/angriest-ive-ever-24-old-121300556.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMifmh0dHBzOi8vd3d3LmJsb29tYmVyZy5jb20vbmV3cy9hcnRpY2xlcy8yMDI0LTAyLTE1L2FzLWJpdGNvaW4tcmFsbGllcy1iYW5rcy1wdXNoLXNlYy10by1jaGFuZ2UtYW4tYWNjb3VudGluZy1ndWlkZWxpbmUtc2FiLTEyMdIBAA?oc=5",
  "cleanedUrl": "https://www.bloomberg.com/news/articles/2024-02-15/as-bitcoin-rallies-banks-push-sec-to-change-an-accounting-guideline-sab-121"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMijAFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNi9jcnlwdG8tdHJhZGVycy1zZWUtMjAtY2hhbmNlLW9mLWJpdGNvaW4tdG9wcGluZy03MGstYnktYXByaWwtZW5kLWRlZmktb3B0aW9ucy1tYXJrZXRwbGFjZS1seXJhL9IBkAFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNi9jcnlwdG8tdHJhZGVycy1zZWUtMjAtY2hhbmNlLW9mLWJpdGNvaW4tdG9wcGluZy03MGstYnktYXByaWwtZW5kLWRlZmktb3B0aW9ucy1tYXJrZXRwbGFjZS1seXJhL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/16/crypto-traders-see-20-chance-of-bitcoin-topping-70k-by-april-end-defi-options-marketplace-lyra/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMigAFodHRwczovL3d3dy5jbmJjLmNvbS92aWRlby8yMDI0LzAyLzE2L2NvaW5iYXNlLXNoYXJlcy1wb3AtYWZ0ZXItcG9zdGluZy1maXJzdC1xdWFydGVybHktcHJvZml0LXNpbmNlLTIwMjEtY25iYy1jcnlwdG8td29ybGQuaHRtbNIBAA?oc=5",
  "cleanedUrl": "https://www.cnbc.com/video/2024/02/16/coinbase-shares-pop-after-posting-first-quarterly-profit-since-2021-cnbc-crypto-world.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiOWh0dHBzOi8vZGVjcnlwdC5jby8yMTc5MjAvY2hpbmEtY3J5cHRvLXllYXItb2YtdGhlLWRyYWdvbtIBP2h0dHBzOi8vZGVjcnlwdC5jby8yMTc5MjAvY2hpbmEtY3J5cHRvLXllYXItb2YtdGhlLWRyYWdvbj9hbXA9MQ?oc=5",
  "cleanedUrl": "https://decrypt.co/217920/china-crypto-year-of-the-dragon"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiQWh0dHBzOi8vY3J5cHRvc2xhdGUuY29tL2hvdy10aGUtdXMtdGhyZWF0ZW5zLWNyeXB0b3MtY29yZS12YWx1ZXMv0gEA?oc=5",
  "cleanedUrl": "https://cryptoslate.com/how-the-us-threatens-cryptos-core-values/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiYWh0dHBzOi8vd3d3LmZveGJ1c2luZXNzLmNvbS9wb2xpdGljcy90cmVhc3VyeS1kZWFscy1ibG93LXRvLWVsaXphYmV0aC13YXJyZW5zLWFudGktY3J5cHRvLWNydXNhZGXSAWVodHRwczovL3d3dy5mb3hidXNpbmVzcy5jb20vcG9saXRpY3MvdHJlYXN1cnktZGVhbHMtYmxvdy10by1lbGl6YWJldGgtd2FycmVucy1hbnRpLWNyeXB0by1jcnVzYWRlLmFtcA?oc=5",
  "cleanedUrl": "https://www.foxbusiness.com/politics/treasury-deals-blow-to-elizabeth-warrens-anti-crypto-crusade"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMikQFodHRwczovL2RhaWx5aG9kbC5jb20vMjAyNC8wMi8xOC9jcnlwdG8tYW5hbHlzdC13YXJucy1iaXRjb2luLXJlbWFpbnMtdnVsbmVyYWJsZS1hYm92ZS01MDAwMC1zYXlzLXplcm8tcmVhc29ucy10by1iZS1idWxsaXNoLW9uLW9uZS1kZWZpLWFsdGNvaW4v0gEA?oc=5",
  "cleanedUrl": "https://dailyhodl.com/2024/02/18/crypto-analyst-warns-bitcoin-remains-vulnerable-above-50000-says-zero-reasons-to-be-bullish-on-one-defi-altcoin/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiV2h0dHBzOi8vd3d3LmZvcmJlcy5jb20vYWR2aXNvci9pbi9pbnZlc3RpbmcvY3J5cHRvY3VycmVuY3kvYmVzdC1jcnlwdG8tZm9yLWRheS10cmFkaW5nL9IBAA?oc=5",
  "cleanedUrl": "https://www.forbes.com/advisor/in/investing/cryptocurrency/best-crypto-for-day-trading/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMidWh0dHBzOi8vd3d3LmJsb29tYmVyZy5jb20vbmV3cy9hcnRpY2xlcy8yMDI0LTAyLTE4L21vbS1hbmQtcG9wLWludmVzdG9ycy1hcmUtc3RhcnRpbmctdG8tdGlwLXRvZS1iYWNrLWludG8tY3J5cHRvLWJ0Y9IBAA?oc=5",
  "cleanedUrl": "https://www.bloomberg.com/news/articles/2024-02-18/mom-and-pop-investors-are-starting-to-tip-toe-back-into-crypto-btc"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiXGh0dHBzOi8vY3J5cHRvLm5ld3MvYnVsbHMtcHJvZml0LWFzLWJpdGNvaW4taGl0cy01MGstd2hpbGUtY2FyZGFuby13aGFsZXMtZXllLW5ldy1tZW1lLWNvaW4v0gEA?oc=5",
  "cleanedUrl": "https://crypto.news/bulls-profit-as-bitcoin-hits-50k-while-cardano-whales-eye-new-meme-coin/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiV2h0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy92Yy1ibG9ja2NoYWluLWFuZC1jcnlwdG8tZnVuZGluZy1yaXNlcy1pbi1xNC0yMDIzLXJlcG9ydNIBAA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/vc-blockchain-and-crypto-funding-rises-in-q4-2023-report"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiamh0dHBzOi8vd3d3LnJldXRlcnMuY29tL3RlY2hub2xvZ3kvZ2VuZXNpcy1nZXRzLWNvdXJ0LWFwcHJvdmFsLXNlbGwtMTYtYmxuLWNyeXB0by10cnVzdC1zaGFyZXMtMjAyNC0wMi0xNC_SAQA?oc=5",
  "cleanedUrl": "https://www.reuters.com/technology/genesis-gets-court-approval-sell-16-bln-crypto-trust-shares-2024-02-14/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiRmh0dHBzOi8vd3d3LmF4aW9zLmNvbS8yMDI0LzAyLzE0L2JpdGNvaW5zLW1hcmtldC1jYXAtY3J5cHRvLTEtdHJpbGxpb27SAQA?oc=5",
  "cleanedUrl": "https://www.axios.com/2024/02/14/bitcoins-market-cap-crypto-1-trillion"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiTGh0dHBzOi8vZGFpbHljb2luLmNvbS9hZGFzLTE0LXN1cmdlLWxlYWRzLXRoZS13YXktYXMtY3J5cHRvLW1hcmtldC1jbGltYnMtNy_SAQA?oc=5",
  "cleanedUrl": "https://dailycoin.com/adas-14-surge-leads-the-way-as-crypto-market-climbs-7/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMia2h0dHBzOi8vd3d3LmNuYmMuY29tLzIwMjQvMDIvMTUvY3J5cHRvLXZjLWZ1bmRpbmctY2xpbWJzLWZvci1maXJzdC10aW1lLWluLTIteWVhcnMtYWZ0ZXItYml0Y29pbi1yYWxseS5odG1s0gFvaHR0cHM6Ly93d3cuY25iYy5jb20vYW1wLzIwMjQvMDIvMTUvY3J5cHRvLXZjLWZ1bmRpbmctY2xpbWJzLWZvci1maXJzdC10aW1lLWluLTIteWVhcnMtYWZ0ZXItYml0Y29pbi1yYWxseS5odG1s?oc=5",
  "cleanedUrl": "https://www.cnbc.com/2024/02/15/crypto-vc-funding-climbs-for-first-time-in-2-years-after-bitcoin-rally.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiYGh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy9nZW5lc2lzLWJhbmtydXB0Y3ktZ2J0Yy1vdXRmbG93cy1iaXRjb2luLWNvaW5iYXNlLWNyeXB0by1leGNoYW5nZdIBAA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/genesis-bankruptcy-gbtc-outflows-bitcoin-coinbase-crypto-exchange"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSWh0dHBzOi8vY3J5cHRvLm5ld3MvZ25vc2lzLXVudmVpbHMtc2VsZi1jdXN0b2R5LWNhcmQtZm9yLWNyeXB0by1zaG9wcGluZy_SAQA?oc=5",
  "cleanedUrl": "https://crypto.news/gnosis-unveils-self-custody-card-for-crypto-shopping/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMibWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzE2L3Jldm9sdXQtdG8taW50cm9kdWNlLWNyeXB0by1leGNoYW5nZS10YXJnZXRpbmctYWR2YW5jZWQtdHJhZGVycy_SAXFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNi9yZXZvbHV0LXRvLWludHJvZHVjZS1jcnlwdG8tZXhjaGFuZ2UtdGFyZ2V0aW5nLWFkdmFuY2VkLXRyYWRlcnMvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/16/revolut-to-introduce-crypto-exchange-targeting-advanced-traders/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMimwFodHRwczovL3d3dy5mb3JiZXMuY29tL3NpdGVzL2RpZ2l0YWwtYXNzZXRzLzIwMjQvMDIvMTcvanBtb3JnYW4tanVzdC1tYWRlLWEtc2hvY2tpbmctY3J5cHRvLWZsaXAtYWZ0ZXItbWFzc2l2ZS1iaXRjb2luLWV0aGVyZXVtLXhycC1hbmQtY3J5cHRvLXByaWNlLXJhbGx5L9IBnwFodHRwczovL3d3dy5mb3JiZXMuY29tL3NpdGVzL2RpZ2l0YWwtYXNzZXRzLzIwMjQvMDIvMTcvanBtb3JnYW4tanVzdC1tYWRlLWEtc2hvY2tpbmctY3J5cHRvLWZsaXAtYWZ0ZXItbWFzc2l2ZS1iaXRjb2luLWV0aGVyZXVtLXhycC1hbmQtY3J5cHRvLXByaWNlLXJhbGx5L2FtcC8?oc=5",
  "cleanedUrl": "https://www.forbes.com/sites/digital-assets/2024/02/17/jpmorgan-just-made-a-shocking-crypto-flip-after-massive-bitcoin-ethereum-xrp-and-crypto-price-rally/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiXmh0dHBzOi8vd3d3LnJldXRlcnMuY29tL3RlY2hub2xvZ3kvY29pbmJhc2Utc3dpbmdzLXByb2ZpdC1pbnRlcmVzdC1pbmNvbWUtc3RyZW5ndGgtMjAyNC0wMi0xNS_SAQA?oc=5",
  "cleanedUrl": "https://www.reuters.com/technology/coinbase-swings-profit-interest-income-strength-2024-02-15/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiVWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTcvcHJvdG9jb2wtbGF0ZXN0LXRlY2gtbmV3cy1jcnlwdG8tYmxvY2tjaGFpbi_SAVlodHRwczovL3d3dy5jb2luZGVzay5jb20vdGVjaC8yMDI0LzAyLzE3L3Byb3RvY29sLWxhdGVzdC10ZWNoLW5ld3MtY3J5cHRvLWJsb2NrY2hhaW4vYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/tech/2024/02/17/protocol-latest-tech-news-crypto-blockchain/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiPmh0dHBzOi8vd3d3LmNoYWluYWx5c2lzLmNvbS9ibG9nLzIwMjQtY3J5cHRvLW1vbmV5LWxhdW5kZXJpbmcv0gEA?oc=5",
  "cleanedUrl": "https://www.chainalysis.com/blog/2024-crypto-money-laundering/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMibWh0dHBzOi8vd3d3LnRoZWJsb2NrLmNvL3Bvc3QvMjc3OTEyL2NlbHNpdXMtZGlzdHJpYnV0ZWQtMi1iaWxsaW9uLW9mLWNyeXB0by10by1jcmVkaXRvcnMtY291cnQtZG9jdW1lbnQtc2hvd3PSAXFodHRwczovL3d3dy50aGVibG9jay5jby9hbXAvcG9zdC8yNzc5MTIvY2Vsc2l1cy1kaXN0cmlidXRlZC0yLWJpbGxpb24tb2YtY3J5cHRvLXRvLWNyZWRpdG9ycy1jb3VydC1kb2N1bWVudC1zaG93cw?oc=5",
  "cleanedUrl": "https://www.theblock.co/post/277912/celsius-distributed-2-billion-of-crypto-to-creditors-court-document-shows"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiYWh0dHBzOi8vd3d3LnJldXRlcnMuY29tL3RlY2hub2xvZ3kvaG9uZHVyYXMtd2F0Y2hkb2ctYmFucy1pbnN0aXR1dGlvbnMtdHJhZGluZy1jcnlwdG8tMjAyNC0wMi0xNi_SAQA?oc=5",
  "cleanedUrl": "https://www.reuters.com/technology/honduras-watchdog-bans-institutions-trading-crypto-2024-02-16/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiUmh0dHBzOi8vY3J5cHRvLm5ld3Mvc3BvdC1iaXRjb2luLWV0ZnMtYXJlLWhlcmUtd2hhdHMtbmV4dC1yZWd1bGF0aW5nLWRlZmktb3Bpbmlvbi_SAQA?oc=5",
  "cleanedUrl": "https://crypto.news/spot-bitcoin-etfs-are-here-whats-next-regulating-defi-opinion/R"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiY2h0dHBzOi8vY3J5cHRvLm5ld3MvZXRoZXJldW0tYW5kLWJpbmFuY2UtY29pbi1nYWlucy1mbG93LWludG8tZGVlc3RyZWFtLWFzLWxlYXAteWVhci1ib29zdHMtY3J5cHRvL9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/ethereum-and-binance-coin-gains-flow-into-deestream-as-leap-year-boosts-crypto/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiVmh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy93YXJyZW4tYnVmZmV0dC13YXJtaW5nLWJpdGNvaW4tYmVya3NoaXJlLTIxMzAxMDg3NC5odG1s0gEA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/warren-buffett-warming-bitcoin-berkshire-213010874.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiWmh0dHBzOi8vd3d3LnVzYXRvZGF5LmNvbS9tb25leS9ibHVlcHJpbnQvaW52ZXN0aW5nL2NyeXB0b2N1cnJlbmN5L3RvcC0xMC1jcnlwdG9jdXJyZW5jaWVzL9IBAA?oc=5",
  "cleanedUrl": "https://www.usatoday.com/money/blueprint/investing/cryptocurrency/top-10-cryptocurrencies/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMinQFodHRwczovL3d3dy5mb3JiZXMuY29tL3NpdGVzL2RpZ2l0YWwtYXNzZXRzLzIwMjQvMDIvMTgvZmFjZS1yaXBwaW5nLXJhbGx5LWluY29taW5nLXdoeS10aGUtYml0Y29pbi1ldGhlcmV1bS1hbmQteHJwLXByaWNlLWJvb20tY291bGQtYmUtanVzdC1nZXR0aW5nLXN0YXJ0ZWQv0gGhAWh0dHBzOi8vd3d3LmZvcmJlcy5jb20vc2l0ZXMvZGlnaXRhbC1hc3NldHMvMjAyNC8wMi8xOC9mYWNlLXJpcHBpbmctcmFsbHktaW5jb21pbmctd2h5LXRoZS1iaXRjb2luLWV0aGVyZXVtLWFuZC14cnAtcHJpY2UtYm9vbS1jb3VsZC1iZS1qdXN0LWdldHRpbmctc3RhcnRlZC9hbXAv?oc=5",
  "cleanedUrl": "https://www.forbes.com/sites/digital-assets/2024/02/18/face-ripping-rally-incoming-why-the-bitcoin-ethereum-and-xrp-price-boom-could-be-just-getting-started/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSGh0dHBzOi8vY3J5cHRvLm5ld3Mvcm9iZXJ0LWtpeW9zYWtpLXByZWRpY3RzLW1vcmUtZ2FpbnMtZm9yLWJpdGNvaW4tYnRjL9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/robert-kiyosaki-predicts-more-gains-for-bitcoin-btc/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSGh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy81LWNyeXB0by1zdG9ja3MtcmlkaW5nLWhvdC0xNDQ0MDA0OTEuaHRtbNIBAA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/5-crypto-stocks-riding-hot-144400491.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMigAFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNC9jcnlwdG8tc3RvY2tzLWFkdmFuY2UtcHJlLW1hcmtldC1hcy1iaXRjb2luLXRvcHMtNTFrLW1hcmtldC1jYXAtaGl0cy0yNi1tb250aC1oaWdoL9IBhAFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNC9jcnlwdG8tc3RvY2tzLWFkdmFuY2UtcHJlLW1hcmtldC1hcy1iaXRjb2luLXRvcHMtNTFrLW1hcmtldC1jYXAtaGl0cy0yNi1tb250aC1oaWdoL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/14/crypto-stocks-advance-pre-market-as-bitcoin-tops-51k-market-cap-hits-26-month-high/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiR2h0dHBzOi8vY29pbmdhcGUuY29tL2NyeXB0by1zY2FtLWNvaW4tbWl4ZXItZml4ZmxvYXQtZmFjZXMtMjZtLWV4cGxvaXQv0gFLaHR0cHM6Ly9jb2luZ2FwZS5jb20vY3J5cHRvLXNjYW0tY29pbi1taXhlci1maXhmbG9hdC1mYWNlcy0yNm0tZXhwbG9pdC9hbXAv?oc=5",
  "cleanedUrl": "https://coingape.com/crypto-scam-coin-mixer-fixfloat-faces-26m-exploit/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSGh0dHBzOi8vY3J5cHRvLm5ld3MvYmluYW5jZS11bmRlci1maXJlLXByb3NlY3V0b3JzLWV5ZS01LXllYXItb3ZlcnNpZ2h0L9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/binance-under-fire-prosecutors-eye-5-year-oversight/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiemh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xNC91cy10cmVhc3VyeS1iYWNrcy1kb3duLW5hcnJhdGl2ZS10aGF0LWhhbWFzLXJlbGllZC1vbi1jcnlwdG8tdG8tZnVuZC10ZXJyb3Jpc20v0gF-aHR0cHM6Ly93d3cuY29pbmRlc2suY29tL3BvbGljeS8yMDI0LzAyLzE0L3VzLXRyZWFzdXJ5LWJhY2tzLWRvd24tbmFycmF0aXZlLXRoYXQtaGFtYXMtcmVsaWVkLW9uLWNyeXB0by10by1mdW5kLXRlcnJvcmlzbS9hbXAv?oc=5",
  "cleanedUrl": "https://www.coindesk.com/policy/2024/02/14/us-treasury-backs-down-narrative-that-hamas-relied-on-crypto-to-fund-terrorism/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiUmh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy9jb2luYmFzZXMtanVtcC1oaWdobGlnaHRzLWNyeXB0by1ldGYtMjI0NTAwODE5Lmh0bWzSAQA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/coinbases-jump-highlights-crypto-etf-224500819.htmlR"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiOWh0dHBzOi8vYmVpbmNyeXB0by5jb20vbWlsbGlvbnMtbGlxdWlkYXRlZC1jcnlwdG8tbWFya2V0L9IBAA?oc=5",
  "cleanedUrl": "https://beincrypto.com/millions-liquidated-crypto-market/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMilwFodHRwczovL2RhdmlkZ2VyYXJkLmNvLnVrL2Jsb2NrY2hhaW4vMjAyNC8wMi8xOC9mb3JlaWduLXBvbGljeS10aGUtY3J5cHRvLWNvbi15ZWFycy1hcmVudC1vdmVyLXlldC1yZXZpZXdzLW9mLW1pY2hhZWwtbGV3aXMtemVrZS1mYXV4LWFuZC1wZXRlci1ob3dzb24v0gEA?oc=5",
  "cleanedUrl": "https://davidgerard.co.uk/blockchain/2024/02/18/foreign-policy-the-crypto-con-years-arent-over-yet-reviews-of-michael-lewis-zeke-faux-and-peter-howson/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiW2h0dHBzOi8vd3d3LnBvbGl0aWNvLmNvbS9uZXdzLzIwMjQvMDIvMTQvY3J5cHRvLWF0dG9ybmV5LXdlaWdocy1jaGFsbGVuZ2luZy13YXJyZW4tMDAxNDE1ODXSAQA?oc=5",
  "cleanedUrl": "https://www.politico.com/news/2024/02/14/crypto-attorney-weighs-challenging-warren-00141585"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMid2h0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzE2L2V0aGVyLWJhc2VkLWNyeXB0by1kb2xsYXItaXNzdWVyLWV0aGVuYS1yYWlzZXMtMTRtLW9wZW5zLWFjY2Vzcy10by1wdWJsaWMv0gF7aHR0cHM6Ly93d3cuY29pbmRlc2suY29tL2J1c2luZXNzLzIwMjQvMDIvMTYvZXRoZXItYmFzZWQtY3J5cHRvLWRvbGxhci1pc3N1ZXItZXRoZW5hLXJhaXNlcy0xNG0tb3BlbnMtYWNjZXNzLXRvLXB1YmxpYy9hbXAv?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/16/ether-based-crypto-dollar-issuer-ethena-raises-14m-opens-access-to-public/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiZ2h0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTUvY3J5cHRvLW1vbmV5LWxhdW5kZXJpbmctZHJvcHBlZC0zMC1sYXN0LXllYXItY2hhaW5hbHlzaXMtc2F5cy_SAWtodHRwczovL3d3dy5jb2luZGVzay5jb20vdGVjaC8yMDI0LzAyLzE1L2NyeXB0by1tb25leS1sYXVuZGVyaW5nLWRyb3BwZWQtMzAtbGFzdC15ZWFyLWNoYWluYWx5c2lzLXNheXMvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/tech/2024/02/15/crypto-money-laundering-dropped-30-last-year-chainalysis-says/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicWh0dHBzOi8vY3J5cHRvcG90YXRvLmNvbS9zb3V0aC1rb3JlYW4tY3J5cHRvLWV4Y2hhbmdlcy1yZXBvcnQtbmVhcmx5LTUwLXN1cmdlLWluLXN1c3BpY2lvdXMtdHJhbnNhY3Rpb25zLWluLTIwMjMv0gF1aHR0cHM6Ly9jcnlwdG9wb3RhdG8uY29tL3NvdXRoLWtvcmVhbi1jcnlwdG8tZXhjaGFuZ2VzLXJlcG9ydC1uZWFybHktNTAtc3VyZ2UtaW4tc3VzcGljaW91cy10cmFuc2FjdGlvbnMtaW4tMjAyMy8_YW1w?oc=5",
  "cleanedUrl": "https://cryptopotato.com/south-korean-crypto-exchanges-report-nearly-50-surge-in-suspicious-transactions-in-2023/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiRmh0dHBzOi8vY3J5cHRvLm5ld3MvZG9nZS1zaGliLWFuZC1wZXBlLWhvbGRlcnMtZmxvY2stdG8tcHVzaGQtcHJlc2FsZS_SAQA?oc=5",
  "cleanedUrl": "https://crypto.news/doge-shib-and-pepe-holders-flock-to-pushd-presale/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiWmh0dHBzOi8vZm9ydHVuZS5jb20vY3J5cHRvLzIwMjQvMDIvMTYvY29pbmJhc2UtcTQtcmVwb3J0cy1wcm9maXQtYW5kLXRyYW5zYWN0aW9ucy11cHN3aW5nL9IBXmh0dHBzOi8vZm9ydHVuZS5jb20vY3J5cHRvLzIwMjQvMDIvMTYvY29pbmJhc2UtcTQtcmVwb3J0cy1wcm9maXQtYW5kLXRyYW5zYWN0aW9ucy11cHN3aW5nL2FtcC8?oc=5",
  "cleanedUrl": "https://fortune.com/crypto/2024/02/16/coinbase-q4-reports-profit-and-transactions-upswing/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMidWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzE2L2Fzc2V0LW1hbmFnZXItanVwaXRlcnMtY3J5cHRvLWludmVzdG1lbnQtc2NyYXBwZWQtYnktY29tcGxpYW5jZS10ZWFtLWZ0L9IBeWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzE2L2Fzc2V0LW1hbmFnZXItanVwaXRlcnMtY3J5cHRvLWludmVzdG1lbnQtc2NyYXBwZWQtYnktY29tcGxpYW5jZS10ZWFtLWZ0L2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/16/asset-manager-jupiters-crypto-investment-scrapped-by-compliance-team-ft/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiM2h0dHBzOi8vYmVpbmNyeXB0by5jb20vaG9uZHVyYXMtY3J5cHRvLXRyYWRpbmctYmFuL9IBAA?oc=5",
  "cleanedUrl": "https://beincrypto.com/honduras-crypto-trading-ban/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiTmh0dHBzOi8vYmxvZy5rcmFrZW4uY29tL25ld3MvaW5kdXN0cnktbmV3cy91LXMtY3J5cHRvLXRheGVzLWluLTIwMjQtZmFzdC1mYWN0c9IBAA?oc=5",
  "cleanedUrl": "https://blog.kraken.com/news/industry-news/u-s-crypto-taxes-in-2024-fast-facts"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSWh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy81LWNyeXB0by1jZW50cmljLXN0b2Nrcy1idXktMTMyMTAwNjM1Lmh0bWzSAQA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/5-crypto-centric-stocks-buy-132100635.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiggFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xNC9jcnlwdG8tY3VzdG9kaWFuLXRhdXJ1cy1lbmxpc3RzLWxpZG8tdG8tYnJpbmctbGlxdWlkLWV0aGVyZXVtLXN0YWtpbmctdG8tc3dpc3MtYmFua3Mv0gGGAWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzE0L2NyeXB0by1jdXN0b2RpYW4tdGF1cnVzLWVubGlzdHMtbGlkby10by1icmluZy1saXF1aWQtZXRoZXJldW0tc3Rha2luZy10by1zd2lzcy1iYW5rcy9hbXAv?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/14/crypto-custodian-taurus-enlists-lido-to-bring-liquid-ethereum-staking-to-swiss-banks/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicmh0dHBzOi8vY3J5cHRvcG90YXRvLmNvbS9hbmdlbC1kcmFpbmVyLXN0cmlrZXMtYWdhaW4tNDAwMDAwLXN0b2xlbi1mcm9tLTEyOC1jcnlwdG8td2FsbGV0cy13aXRoLW5ldy1hdHRhY2stdmVjdG9yL9IBdmh0dHBzOi8vY3J5cHRvcG90YXRvLmNvbS9hbmdlbC1kcmFpbmVyLXN0cmlrZXMtYWdhaW4tNDAwMDAwLXN0b2xlbi1mcm9tLTEyOC1jcnlwdG8td2FsbGV0cy13aXRoLW5ldy1hdHRhY2stdmVjdG9yLz9hbXA?oc=5",
  "cleanedUrl": "https://cryptopotato.com/angel-drainer-strikes-again-400000-stolen-from-128-crypto-wallets-with-new-attack-vector/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiTmh0dHBzOi8vY3J5cHRvLm5ld3MvYW5hbHlzdHMtcHJlZGljdC10aGlzLW5ldy1hbHRjb2luLWNvdWxkLWdyb3ctc2FtZS1hcy1ib25rL9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/analysts-predict-this-new-altcoin-could-grow-same-as-bonk/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiH2h0dHBzOi8vYW1iY3J5cHRvLmNvbS8_cD0zNzA4MzXSAVhodHRwczovL2FtYmNyeXB0by5jb20vY3J5cHRvLW1hcmtldHMtd2Vla2x5LXdpbm5lcnMtYW5kLWxvc2Vycy13bGQtYmdiLWJvbmstYW5kLXRpYS9hbXAv?oc=5",
  "cleanedUrl": "https://ambcrypto.com/?p=370835"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiXmh0dHBzOi8vZm9ydHVuZS5jb20vY3J5cHRvLzIwMjQvMDIvMTUvcnczLXZlbnR1cmVzLW11YmFkYWxhLXJhcHRvci12Yy1jcnlwdG8tYmxvY2tjaGFpbi1iaXRnby_SAWJodHRwczovL2ZvcnR1bmUuY29tL2NyeXB0by8yMDI0LzAyLzE1L3J3My12ZW50dXJlcy1tdWJhZGFsYS1yYXB0b3ItdmMtY3J5cHRvLWJsb2NrY2hhaW4tYml0Z28vYW1wLw?oc=5",
  "cleanedUrl": "https://fortune.com/crypto/2024/02/15/rw3-ventures-mubadala-raptor-vc-crypto-blockchain-bitgo/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiZmh0dHBzOi8vd3d3LmZvcmJlcy5jb20vc2l0ZXMvamF2aWVycGF6LzIwMjQvMDIvMTMvdGhlLWZ1dHVyZS1vZi1jcnlwdG8tYW5kLWJsb2NrY2hhaW4tZmludGVjaC01MC0yMDI0L9IBAA?oc=5",
  "cleanedUrl": "https://www.forbes.com/sites/javierpaz/2024/02/13/the-future-of-crypto-and-blockchain-fintech-50-2024/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiaWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xNC9pbmRvbmVzaWEtcGlja3MtY3J5cHRvLWZyaWVuZGx5LXRlYW0taW4tcHJlc2lkZW50aWFsLWVsZWN0aW9uL9IBbWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xNC9pbmRvbmVzaWEtcGlja3MtY3J5cHRvLWZyaWVuZGx5LXRlYW0taW4tcHJlc2lkZW50aWFsLWVsZWN0aW9uL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/policy/2024/02/14/indonesia-picks-crypto-friendly-team-in-presidential-election/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMidmh0dHBzOi8vd3d3LmNuYmMuY29tL3ZpZGVvLzIwMjQvMDIvMTQvYml0Y29pbi1icmllZmx5LWNyb3NzZXMtNTIwMDAtcmVjYXB0dXJlcy0xLXRyaWxsaW9uLW1hcmtldC1jYXAtY3J5cHRvLXdvcmxkLmh0bWzSAQA?oc=5",
  "cleanedUrl": "https://www.cnbc.com/video/2024/02/14/bitcoin-briefly-crosses-52000-recaptures-1-trillion-market-cap-crypto-world.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTUvYXBwbGUtdmlzaW9uLXByb3MtYXJlLXByYWN0aWNhbGx5LWRyZXNzLWNvZGUtYXQtdGhpcy1jcnlwdG8taGFja2VyLWhvdXNlL9IBdmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTUvYXBwbGUtdmlzaW9uLXByb3MtYXJlLXByYWN0aWNhbGx5LWRyZXNzLWNvZGUtYXQtdGhpcy1jcnlwdG8taGFja2VyLWhvdXNlL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/tech/2024/02/15/apple-vision-pros-are-practically-dress-code-at-this-crypto-hacker-house/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiQmh0dHBzOi8vYmxvY2t3b3Jrcy5jby9uZXdzL2ZpbmNlbi1oZWFyaW5nLWNyeXB0by1pbGxlZ2FsLWZpbmFuY2luZ9IBAA?oc=5",
  "cleanedUrl": "https://blockworks.co/news/fincen-hearing-crypto-illegal-financing"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiYGh0dHBzOi8vd3d3LnB5bW50cy5jb20vZWFybmluZ3MvMjAyNC9zdGFibGVjb2lucy11bnN0YWJsZS1jcnlwdG8tbWFya2V0LXByb3BlbC1jb2luYmFzZS1wcm9maXRzL9IBAA?oc=5",
  "cleanedUrl": "https://www.pymnts.com/earnings/2024/stablecoins-unstable-crypto-market-propel-coinbase-profits/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiZGh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9jb25zZW5zdXMtbWFnYXppbmUvMjAyNC8wMi8xMy9jcnlwdG8taGFzLWFuLXVucmVhbGl6ZWQtb3Bwb3J0dW5pdHktaW4tYXNpYS_SAWhodHRwczovL3d3dy5jb2luZGVzay5jb20vY29uc2Vuc3VzLW1hZ2F6aW5lLzIwMjQvMDIvMTMvY3J5cHRvLWhhcy1hbi11bnJlYWxpemVkLW9wcG9ydHVuaXR5LWluLWFzaWEvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/consensus-magazine/2024/02/13/crypto-has-an-unrealized-opportunity-in-asia/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiggFodHRwczovL3d3dy5jb2luZGVzay5jb20vY29uc2Vuc3VzLW1hZ2F6aW5lLzIwMjQvMDIvMTQvY3J5cHRvLWZlYXItZ3JlZWQtaW5kZXgtaGl0cy1oaWdoZXN0LWxldmVsLXNpbmNlLWJpdGNvaW5zLTIwMjEtcmVjb3JkLWhpZ2gv0gGGAWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9jb25zZW5zdXMtbWFnYXppbmUvMjAyNC8wMi8xNC9jcnlwdG8tZmVhci1ncmVlZC1pbmRleC1oaXRzLWhpZ2hlc3QtbGV2ZWwtc2luY2UtYml0Y29pbnMtMjAyMS1yZWNvcmQtaGlnaC9hbXAv?oc=5",
  "cleanedUrl": "https://www.coindesk.com/consensus-magazine/2024/02/14/crypto-fear-greed-index-hits-highest-level-since-bitcoins-2021-record-high/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMihAFodHRwczovL3d3dy5jb2luZGVzay5jb20vbWFya2V0cy8yMDI0LzAyLzE2L2NvaW5iYXNlLWFuYWx5c3RzLXR1cm4tbW9yZS1idWxsaXNoLW9uLWNyeXB0by1leGNoYW5nZS1hZnRlci1lYXJuaW5ncy1iZWF0LXNoYXJlcy1jbGltYi_SAYgBaHR0cHM6Ly93d3cuY29pbmRlc2suY29tL21hcmtldHMvMjAyNC8wMi8xNi9jb2luYmFzZS1hbmFseXN0cy10dXJuLW1vcmUtYnVsbGlzaC1vbi1jcnlwdG8tZXhjaGFuZ2UtYWZ0ZXItZWFybmluZ3MtYmVhdC1zaGFyZXMtY2xpbWIvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/markets/2024/02/16/coinbase-analysts-turn-more-bullish-on-crypto-exchange-after-earnings-beat-shares-climb/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicmh0dHBzOi8vd3d3LmJsb29tYmVyZy5jb20vbmV3cy9hcnRpY2xlcy8yMDI0LTAyLTE1L2ZlZC1zLXdhbGxlci1zYXlzLWRvbGxhci10by13aXRoc3RhbmQtdGhyZWF0cy1mcm9tLWNoaW5hLWNyeXB0b9IBAA?oc=5",
  "cleanedUrl": "https://www.bloomberg.com/news/articles/2024-02-15/fed-s-waller-says-dollar-to-withstand-threats-from-china-crypto"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMifGh0dHBzOi8vd3d3LnJldXRlcnMuY29tL3RlY2hub2xvZ3kvcGV0ZXItdGhpZWxzLWZvdW5kZXJzLWZ1bmQtbWFkZS0yMDAtbWlsbGlvbi1jcnlwdG8taW52ZXN0bWVudC1iZWZvcmUtYnVsbC1ydW4tMjAyNC0wMi0xMy_SAQA?oc=5",
  "cleanedUrl": "https://www.reuters.com/technology/peter-thiels-founders-fund-made-200-million-crypto-investment-before-bull-run-2024-02-13/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiY2h0dHBzOi8vY3J5cHRvLm5ld3MvbXVzaWMtaW5kdXN0cnktZXllcy1kZWVzdHJlYW0tcHJlc2FsZS1hZnRlci1ldGhlcmV1bS1hbmQtYXZhbGFuY2hlLXdoYWxlcy1qb2luL9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/music-industry-eyes-deestream-presale-after-ethereum-and-avalanche-whales-join/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicGh0dHBzOi8vd3d3LmJsb29tYmVyZy5jb20vbmV3cy9hcnRpY2xlcy8yMDI0LTAyLTE1L2NvaW5iYXNlLXJldHVybnMtdG8tcHJvZml0YWJpbGl0eS1hZnRlci1jcnlwdG8tbWFya2V0LXJlYm91bmTSAQA?oc=5",
  "cleanedUrl": "https://www.bloomberg.com/news/articles/2024-02-15/coinbase-returns-to-profitability-after-crypto-market-rebound"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMifWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xNC91cGNvbWluZy1oaWdoLWxldmVsLWV1LWZpbmFuY2lhbC1wb2xpY3ktdGFsa3MtY291bGQtc3RlZXItY3J5cHRvLW92ZXJzaWdodC1zb3VyY2Uv0gGBAWh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xNC91cGNvbWluZy1oaWdoLWxldmVsLWV1LWZpbmFuY2lhbC1wb2xpY3ktdGFsa3MtY291bGQtc3RlZXItY3J5cHRvLW92ZXJzaWdodC1zb3VyY2UvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/policy/2024/02/14/upcoming-high-level-eu-financial-policy-talks-could-steer-crypto-oversight-source/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiaGh0dHBzOi8vd3d3LmJsb29tYmVyZy5jb20vbmV3cy9hcnRpY2xlcy8yMDI0LTAyLTE2L3Nwb3QtYml0Y29pbi1ldGYtd2h5LWFwcHJvdmFsLWJ5LXRoZS1zZWMtdG9vay1zby1sb25n0gEA?oc=5",
  "cleanedUrl": "https://www.bloomberg.com/news/articles/2024-02-16/spot-bitcoin-etf-why-approval-by-the-sec-took-so-long"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMidmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9idXNpbmVzcy8yMDI0LzAyLzEzL3JvYmluaG9vZHMtaGlnaGVyLWNyeXB0by1yZXZlbnVlLWNvdWxkLWJlLXBvc2l0aXZlLWZvci1jb2luYmFzZS1lYXJuaW5ncy_SAXpodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xMy9yb2Jpbmhvb2RzLWhpZ2hlci1jcnlwdG8tcmV2ZW51ZS1jb3VsZC1iZS1wb3NpdGl2ZS1mb3ItY29pbmJhc2UtZWFybmluZ3MvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/13/robinhoods-higher-crypto-revenue-could-be-positive-for-coinbase-earnings/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiOmh0dHBzOi8vYmxvY2t3b3Jrcy5jby9uZXdzL2NyeXB0by1maXJtcy1zZWVraW5nLWRldmVsb3BlcnPSAQA?oc=5",
  "cleanedUrl": "https://blockworks.co/news/crypto-firms-seeking-developers"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMia2h0dHBzOi8vd3d3LmZveGJ1c2luZXNzLmNvbS9tYXJrZXRzL2NyeXB0by13b3JsZC13YWxsLXN0cmVldC1hd2FpdC1wb3RlbnRpYWwtc3ByaW5nLWFwcHJvdmFsLXNwb3QtZXRoZXItZXRm0gFvaHR0cHM6Ly93d3cuZm94YnVzaW5lc3MuY29tL21hcmtldHMvY3J5cHRvLXdvcmxkLXdhbGwtc3RyZWV0LWF3YWl0LXBvdGVudGlhbC1zcHJpbmctYXBwcm92YWwtc3BvdC1ldGhlci1ldGYuYW1w?oc=5",
  "cleanedUrl": "https://www.foxbusiness.com/markets/crypto-world-wall-street-await-potential-spring-approval-spot-ether-etf"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiUWh0dHBzOi8vd3d3LnRoZWJsb2NrLmNvL3Bvc3QvMjc3NDI2L2phcGFuLWZzYS11bmxhd2Z1bC1tb25leS10cmFuc2ZlcnMtY3J5cHRvLXAycNIBVWh0dHBzOi8vd3d3LnRoZWJsb2NrLmNvL2FtcC9wb3N0LzI3NzQyNi9qYXBhbi1mc2EtdW5sYXdmdWwtbW9uZXktdHJhbnNmZXJzLWNyeXB0by1wMnA?oc=5",
  "cleanedUrl": "https://www.theblock.co/post/277426/japan-fsa-unlawful-money-transfers-crypto-p2p"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMijgFodHRwczovL2RhaWx5aG9kbC5jb20vMjAyNC8wMi8xOC9hbmFseXN0LXNheXMtbmV4dC1sZWctdXAtaW5jb21pbmctZm9yLXR3by1sb3ctY2FwLWFsdGNvaW5zLXVwZGF0ZXMtb3V0bG9vay1vbi1yZWNlbnRseS1sYXVuY2hlZC1jcnlwdG8tYXNzZXQv0gEA?oc=5",
  "cleanedUrl": "https://dailyhodl.com/2024/02/18/analyst-says-next-leg-up-incoming-for-two-low-cap-altcoins-updates-outlook-on-recently-launched-crypto-asset/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiOGh0dHBzOi8vcGl0Y2hib29rLmNvbS9uZXdzL3JlcG9ydHMvcTQtMjAyMy1jcnlwdG8tcmVwb3J00gEA?oc=5",
  "cleanedUrl": "https://pitchbook.com/news/reports/q4-2023-crypto-report"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiYGh0dHBzOi8vY3J5cHRvLm5ld3MvbWljcm9zdHJhdGVneXMtYml0Y29pbi1zdWNjZXNzLXNwYXJrcy1zcGVjdWxhdGlvbi1vbi1wb3RlbnRpYWwtc3AtNTAwLWVudHJ5L9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/microstrategys-bitcoin-success-sparks-speculation-on-potential-sp-500-entry/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiTWh0dHBzOi8vZmluYW5jZS55YWhvby5jb20vbmV3cy9jcnlwdG8tbWFya2V0LXZhbHVlLWNsaW1icy1iYWNrLTAyMTQyMzcxNC5odG1s0gEA?oc=5",
  "cleanedUrl": "https://finance.yahoo.com/news/crypto-market-value-climbs-back-021423714.html"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiQGh0dHBzOi8vYmxvY2t3b3Jrcy5jby9uZXdzL2NyeXB0by1idXJnZXItcmVzdGF1cmFudC1mYWQtYWRvcHRpb27SAQA?oc=5",
  "cleanedUrl": "https://blockworks.co/news/crypto-burger-restaurant-fad-adoption"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiW2h0dHBzOi8vY3J5cHRvLm5ld3Mvc3BvdC1iaXRjb2luLWV0Zi10YWtlcy1jZW50ZXItc3RhZ2UtYnV0LXdoYXQtcmVhbGx5LWxpZXMtYWhlYWQtb3Bpbmlvbi_SAQA?oc=5",
  "cleanedUrl": "https://crypto.news/spot-bitcoin-etf-takes-center-stage-but-what-really-lies-ahead-opinion/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiW2h0dHBzOi8vY3J5cHRvYnJpZWZpbmcuY29tL3NvbGFuYS10YXBzLWZpbGVjb2luLWVuaGFuY2VkLWRlY2VudHJhbGl6ZWQtZGF0YS1zdG9yYWdlLWFjY2Vzcy_SAQA?oc=5",
  "cleanedUrl": "https://cryptobriefing.com/solana-taps-filecoin-enhanced-decentralized-data-storage-access/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMibGh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xMy9yaXBwbGUtdG8tYnV5LW5ldy15b3JrLWNyeXB0by10cnVzdC1jb21wYW55LXRvLWV4cGFuZC11cy1vcHRpb25zL9IBcGh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xMy9yaXBwbGUtdG8tYnV5LW5ldy15b3JrLWNyeXB0by10cnVzdC1jb21wYW55LXRvLWV4cGFuZC11cy1vcHRpb25zL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/policy/2024/02/13/ripple-to-buy-new-york-crypto-trust-company-to-expand-us-options/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiRmh0dHBzOi8vYmxvY2t3b3Jrcy5jby9uZXdzL2NyeXB0by1mcmllbmRseS1jaGFsbGVuZ2VyLWVsaXphYmV0aC13YXJyZW7SAQA?oc=5",
  "cleanedUrl": "https://blockworks.co/news/crypto-friendly-challenger-elizabeth-warren"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiPGh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy93aGF0LWhhcHBlbmVkLWluLWNyeXB0by10b2RhedIBAA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/what-happened-in-crypto-today"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMimgFodHRwczovL3d3dy53c2ouY29tL2xpdmVjb3ZlcmFnZS9zdG9jay1tYXJrZXQtdG9kYXktZG93LWpvbmVzLTAyLTE2LTIwMjQvY2FyZC9jb2luYmFzZS1zdG9jay1qdW1wcy1hZnRlci1jcnlwdG8tZXhjaGFuZ2UtcG9zdHMtcHJvZml0LVMzSzFRT08xYkRLdVZBNFR3cU1K0gEA?oc=5",
  "cleanedUrl": "https://www.wsj.com/livecoverage/stock-market-today-dow-jones-02-16-2024/card/coinbase-stock-jumps-after-crypto-exchange-posts-profit-S3K1QOO1bDKuVA4TwqMJ"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiS2h0dHBzOi8vY3J5cHRvLm5ld3MvYXVzdHJhbGlhLWZlZGVyYWwtcG9saWNlLW9mZmljZXItYWNjdXNlZC1iaXRjb2luLXRoZWZ0L9IBAA?oc=5",
  "cleanedUrl": "https://crypto.news/australia-federal-police-officer-accused-bitcoin-theft/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiSmh0dHBzOi8vY3J5cHRvLm5ld3MvYXB0b3MtbGF1bmNoZXMtOTktY3J5cHRvLXNtYXJ0cGhvbmUtZHViYmVkLWphbWJvcGhvbmUv0gEA?oc=5",
  "cleanedUrl": "https://crypto.news/aptos-launches-99-crypto-smartphone-dubbed-jambophone/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiT2h0dHBzOi8vY3J5cHRvLm5ld3MvcHJvbWlzaW5nLXByaXZhY3ktY29pbnMtb2YtMjAyNC16ZXBoeXItbW9uZXJvLWFuZC1hbGdvdGVjaC_SAQA?oc=5",
  "cleanedUrl": "https://crypto.news/promising-privacy-coins-of-2024-zephyr-monero-and-algotech/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiUGh0dHBzOi8vZGVjcnlwdC5jby8yMTc5NzAvdGhpcy13ZWVrLWNyeXB0by1nYW1lcy1zdXJwcmlzZS1waXhlbC1haXJkcm9wLWFwZWNoYWlu0gFWaHR0cHM6Ly9kZWNyeXB0LmNvLzIxNzk3MC90aGlzLXdlZWstY3J5cHRvLWdhbWVzLXN1cnByaXNlLXBpeGVsLWFpcmRyb3AtYXBlY2hhaW4_YW1wPTE?oc=5",
  "cleanedUrl": "https://decrypt.co/217970/this-week-crypto-games-surprise-pixel-airdrop-apechain"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiVWh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy9jZWxzaXVzLWRpc3RyaWJ1dGlvbi1jcnlwdG8tY3JlZGl0b3JzLWJpdGNvaW4tZXRoZXJldW3SAQA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/celsius-distribution-crypto-creditors-bitcoin-ethereum"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiWWh0dHBzOi8vY3J5cHRvLm5ld3MvYml0Y29pbi1jYXNoLWFuZC10b25jb2luLWdhaW4taW50ZXJlc3Qtd2hpbGUtbnVnZ2V0cnVzaC1leWVzLXVwc3dpbmcv0gEA?oc=5",
  "cleanedUrl": "https://crypto.news/bitcoin-cash-and-toncoin-gain-interest-while-nuggetrush-eyes-upswing/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiNWh0dHBzOi8vY3J5cHRvLm5ld3MvYmxvY2tjaGFpbi1kdWVsYml0cy1jcnlwdG8taGVpc3Qv0gEA?oc=5",
  "cleanedUrl": "https://crypto.news/blockchain-duelbits-crypto-heist/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMicmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xMy9iYW54YS1wYXltZW50cy1wYXJ0bmVyLWZvci1iaW5hbmNlLWFuZC1va3gtbGFuZHMtb24tdWstY3J5cHRvLXJlZ2lzdGVyL9IBdmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS9wb2xpY3kvMjAyNC8wMi8xMy9iYW54YS1wYXltZW50cy1wYXJ0bmVyLWZvci1iaW5hbmNlLWFuZC1va3gtbGFuZHMtb24tdWstY3J5cHRvLXJlZ2lzdGVyL2FtcC8?oc=5",
  "cleanedUrl": "https://www.coindesk.com/policy/2024/02/13/banxa-payments-partner-for-binance-and-okx-lands-on-uk-crypto-register/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiVWh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy9jcnlwdG8tY291bGQtbGVhcm4tZnJvbS1zZWN1cml0aWVzLWV4Y2hhbmdlLWNvbW1pc3Npb27SAQA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/crypto-could-learn-from-securities-exchange-commission"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMidmh0dHBzOi8vd3d3LmNvaW5kZXNrLmNvbS90ZWNoLzIwMjQvMDIvMTMvbGVkZ2VyLWNvaW5iYXNlLXBheS1pbnRlZ3JhdGUtdG8tZ2l2ZS11c2Vycy1kaXJlY3QtYWNjZXNzLXRvLWJ1eS1zZWxsLWNyeXB0by_SAXpodHRwczovL3d3dy5jb2luZGVzay5jb20vdGVjaC8yMDI0LzAyLzEzL2xlZGdlci1jb2luYmFzZS1wYXktaW50ZWdyYXRlLXRvLWdpdmUtdXNlcnMtZGlyZWN0LWFjY2Vzcy10by1idXktc2VsbC1jcnlwdG8vYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/tech/2024/02/13/ledger-coinbase-pay-integrate-to-give-users-direct-access-to-buy-sell-crypto/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMiTWh0dHBzOi8vY29pbnRlbGVncmFwaC5jb20vbmV3cy9maXhlZC1mbG9hdC1jb25maXJtcy0yNm0tZXhwbG9pdC1iaXRjb2luLWV0aGVy0gEA?oc=5",
  "cleanedUrl": "https://cointelegraph.com/news/fixed-float-confirms-26m-exploit-bitcoin-ether"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMikAFodHRwczovL3d3dy5jb2luZGVzay5jb20vYnVzaW5lc3MvMjAyNC8wMi8xMy9mb3JkZWZpLXJhaXNlcy0xMG0tdG8tbWFrZS1jcnlwdG8tc2FmZXItd2l0aC1pbnN0aXR1dGlvbmFsLWdyYWRlLXdhbGxldC10by1yZXRhaWwtZmFjaW5nLXBsYXRmb3Jtcy_SAZQBaHR0cHM6Ly93d3cuY29pbmRlc2suY29tL2J1c2luZXNzLzIwMjQvMDIvMTMvZm9yZGVmaS1yYWlzZXMtMTBtLXRvLW1ha2UtY3J5cHRvLXNhZmVyLXdpdGgtaW5zdGl0dXRpb25hbC1ncmFkZS13YWxsZXQtdG8tcmV0YWlsLWZhY2luZy1wbGF0Zm9ybXMvYW1wLw?oc=5",
  "cleanedUrl": "https://www.coindesk.com/business/2024/02/13/fordefi-raises-10m-to-make-crypto-safer-with-institutional-grade-wallet-to-retail-facing-platforms/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMihgFodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vbmV3cy9iaXRjb2luX2NvbTo0YTZiYjZlM2YwOTRiOjAtdGV4YXMtZWxlY3RyaWMtdXRpbGl0eS1jb3VydHMtdW5uYW1lZC1jcnlwdG8tbWluZXJzLXdpdGgtZml2ZS15ZWFyLWRlYWxzL9IBAA?oc=5",
  "cleanedUrl": "https://www.tradingview.com/news/bitcoin_com:4a6bb6e3f094b:0-texas-electric-utility-courts-unnamed-crypto-miners-with-five-year-deals/"
}
{
  "originalUrl": "https://news.google.com/rss/articles/CBMifmh0dHBzOi8vd3d3LnRoZWJsb2NrLmNvL3Bvc3QvMjc3MzM0L2NyeXB0by1nYW1pbmctcGxhdGZvcm0tcGxheWRhcHAtbG9zZXMtMjkwLW1pbGxpb24td29ydGgtb2YtdG9rZW5zLWluLXR3by1leHBsb2l0cy1lbGxpcHRpY9IBggFodHRwczovL3d3dy50aGVibG9jay5jby9hbXAvcG9zdC8yNzczMzQvY3J5cHRvLWdhbWluZy1wbGF0Zm9ybS1wbGF5ZGFwcC1sb3Nlcy0yOTAtbWlsbGlvbi13b3J0aC1vZi10b2tlbnMtaW4tdHdvLWV4cGxvaXRzLWVsbGlwdGlj?oc=5",
  "cleanedUrl": "https://www.theblock.co/post/277334/crypto-gaming-platform-playdapp-loses-290-million-worth-of-tokens-in-two-exploits-elliptic"
}

Enhancements

Love the package so far but I would suggest the ability to have a list of websites to avoid from the results.

Example

https://cryptonewsbtc.org/2024/02/16/ethereum-loses-its-strong-momentum-heading-into-the-weekend-fx-leaders-fx-leaders/#google_vignette

This is an article that is output from the results using this package, but the contents of the article don't really suffice enough information worth scrapping, so I would like to add this to an ignore list.

Next would be the ability to visit the URL and scrape the information from there.

Currently I have written this functionality myself and provided some examples, while not perfect they do work for the time-being.

Scraping the URL and include full article while filtering out promotion sections that don't pertain to the actual article.

const googleNewsScraper = require('google-news-scraper');
const puppeteer = require('puppeteer');
const { Readability } = require('@mozilla/readability');
const jsdom = require("jsdom");
const { JSDOM } = jsdom;

const virtualConsole = new jsdom.VirtualConsole();
virtualConsole.on("error", () => {});

async function fetchNews() {
    const articles = await googleNewsScraper({
        searchTerm: "crypto",
        prettyURLs: true,
        queryVars: { hl: "en-US", gl: "US", ceid: "US:en" },
        timeframe: "1h",
        puppeteerArgs: []
    });

    const browser = await puppeteer.launch();
    const processedArticlesPromises = articles.map(article =>
        extractArticleContentAndFavicon(article, browser)
    );

    let processedArticles = await Promise.all(processedArticlesPromises);
    // Enhance the filter to remove articles containing the verification message
    processedArticles = processedArticles.filter(article => article.content && !article.content.includes("Verifying you are human"));

    await browser.close();

    if (processedArticles.length > 0) {
        processedArticles.forEach(article => console.log(article));
    } else {
        console.log("No articles found or all articles were filtered out.");
    }
}

async function extractArticleContentAndFavicon(article, browser) {
    try {
        const page = await browser.newPage();
        await page.goto(article.link, { waitUntil: 'networkidle2' });
        const content = await page.evaluate(() => document.documentElement.innerHTML);

        const dom = new JSDOM(content, { url: article.link, virtualConsole });
        let reader = new Readability(dom.window.document);
        let articleContent = reader.parse();

        if (!articleContent || !articleContent.textContent || articleContent.textContent.includes("Verifying you are human")) {
            console.log("Article content could not be parsed, is empty, or requires human verification");
            return { ...article, content: '', favicon: ''};
        }

        const favicon = await page.evaluate(() => {
            const link = document.querySelector('link[rel="icon"], link[rel="shortcut icon"]');
            return link ? link.href : '';
        });

        let cleanedText = cleanText(articleContent.textContent);
        
        if (cleanedText.split(' ').length < 100) { // Example threshold: 100 words
            console.log("Article content is too short and likely not valuable.");
            return { ...article, content: '', favicon: '' };
        }

        return { ...article, content: cleanedText, favicon: favicon};
    } catch (error) {
        console.error('Error extracting article with Puppeteer:', error);
        return { ...article, content: '', favicon: '' };
    }
}

function cleanText(text) {
    const unwantedKeywords = [
        'Subscribe now', 
        'sign up', 
        'newsletter', 
        'MORE FROM FORBES', 
        'CryptoCodex', 
        'Forbes Digital Assets',
        'Subscribe now',
        'Sign up for our newsletter',
        'Exclusive offer',
        'Limited time offer',
        'Free trial',
        'Download now',
        'Join now',
        'Register today',
        'Special promotion',
        'Promotional offer',
        'Discount code',
        'Early access',
        'Sneak peek',
        'Save now',
        'Don\'t miss out',
        'Act now',
        'Last chance',
        'Expires soon',
        'Giveaway',
        'Free access',
        'Premium access',
        'Unlock full access',
        'Buy now',
        'Get started today',
        'Learn more',
        'Click here',
        'Follow us on',
        'Share this article',
        'Connect with us',
        'Advertisement',
        'Sponsored content',
        'Partner content',
        'Affiliate links',
        'Click Here',
        'For more Information'
    ];
    return text
        .split('\n')
        .map(line => line.trim())
        .filter(line => line.split(' ').length > 4)
        .filter(line => !unwantedKeywords.some(keyword => line.includes(keyword)))
        .join('\n');
}

fetchNews();

Sample output:

{
  title: "Bitcoin Faces Test from China's Economic Downturn; AI Altcoin Presale Nears $10M Milestone",
  link: 'https://cryptomode.com/altcoins/bitcoin-faces-test-from-chinas-economic-downturn/',
  image: 'https://news.google.com/api/attachments/CC8iK0NnNXNVVkZIZUc1c1VXMVhkSGt0VFJDdEFSaWtBaWdCTWdZcEU0eXV3UVE=-w400-h224-p-df-rw',
  source: 'Crypto Mode',
  datetime: 2024-02-16T20:02:27.000Z,
  time: '34 minutes ago',
  content: 'The deepening economic crisis in China has stoked concerns about the future of Bitcoin (BTC). The development comes after the cryptocurrency reached record highs due to the interest in investing in BTC ETFs in the US. After a long wait over regulatory concerns, 11 Bitcoin ETFs were introduced in the US markets and they received an unprecedented response.However, analysts are afraid that the impact of challenging economic conditions in China might be a dampener for Bitcoin’s rally. At the same time, a section of analysts also believe that as Chinese regulators rush in for damage control, Bitcoin, too, will have ample ground to bounce back.Meanwhile, in the altcoin sector, an AI-led token has been making waves and giving tough competition to popular names. Built on Ethereum, InQubeta (QUBE) is a platform where AI-centric startups can find resources for business growth.InQubeta: Helping AI startups navigate challenges in business developmentInQubeta is a new-age platform where AI startups can find all the tools needed to scale their business. Be it fundraising, mentorship, or marketing support, InQubeta has an experienced team of professionals on board to guide young innovators. Its native cryptocurrency, the QUBE token, serves as the mode of payment for all transactions including tax payments.QUBE finished 2023 on a positive note mainly due to its presale success and is expected to continue doing well this year too. So far, its cryptocurrency ICO has raised over $9.4 million.The QUBE token is considered top crypto to invest in by many experts due to its unique use cases. One of its main USPs is its deflationary model where the token supply is tweaked according to market conditions to minimize frequent price fluctuations.Under adverse market conditions like high inflation, the deflationary mechanism makes it harder for a crypto user to buy the QUBE token. The mismatch in demand and supply promotes competitive prices even under challenging conditions.If there is an increase in supply, it’s reversed by burning the additional tokens in circulation. An identical mechanism is used for controlling internal inflation. When the QUBE token is bought or sold, the taxes collected on such transactions might inflate the supply.To avoid such a situation, the InQubeta team burns 1% of the tax proceeds. The rest of the collections are used for staking services, pumping in liquidity, and funding marketing activities.InQubeta’s potential isn’t limited to fundraising and it can assist a startup with expanding business too. With InQubeta, enterprises can seek relevant support to address challenges across various fields. If they are wondering about how to build a roadmap for their company, they connect with AI veterans to seek guidance.To address accounting or finance-related queries, there’s a team of advisors available on InQubeta to help startups out.InQubeta also offers marketing and social media support to help companies struggling with brand outreach. AI startups can connect with professionals from different industries and tap into digital mediums to make the right noise about their projects.A month since launch, 9 Bitcoin ETFs have crossed $10 million AUMBitcoin is a permissionless cryptocurrency that facilitates fast and secure online transactions. These transactions are conducted with its native token BTC and are confirmed by proof-of-work consensus protocol.Bitcoin rose to new heights with the introduction of crypto ETFs in the US. After a green light from US regulators, 11 ETFs debuted in the market on January 11 and witnessed record investor inflows. The development also helped Bitcoin’s value appreciate and even outperform some of the best altcoins for 2023.The spot Bitcoin ETFs completed a month on February 10. Since their approval, nine of these ETFs clocked $10 million in assets under management, according to data from BitMax Research.However, a few analysts believe that the economic crisis currently gripping China is likely to test Bitcoin’s resilience over the next few months.ConclusionBitcoin and InQubeta have been continuously featured as analysts’ top picks with their robust market innings. In the past few months, Bitcoin cemented its position as a cryptocurrency for all seasons with the ETF mania. Meanwhile, InQubeta staved off competition from several new altcoins with its utility-oriented model.However, what’s common between the two cryptocurrencies is their security frameworks that assure investors about the safety of their assets. These decentralized frameworks comply with international standards and have been vetted by leading blockchain audit firms.Visit InQubeta Presale',
  favicon: 'https://cryptomode.com/wp-content/uploads/2023/11/cropped-LogoWhiteonBlue-32x32.png'
}

Just some ideas, thanks!

TypeError: UnhandledPromiseRejectionWarning on requesting of news inside Express App

When running your code example. i am receiving this error message in the console:

(node:13508) UnhandledPromiseRejectionWarning: TypeError: (intermediate value).toISOString(...).split(...)[0].replaceAll is not a function
    at module.exports (E:\News API\node_modules\google-news-scraper\index.js:36:65)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async E:\News API\index.js:10:22
(Use `node --trace-warnings ...` to show where the warning was created)
(node:13508) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:13508) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I can work on a solution for it an can submit a PR if you want

Image fundamental change

I don't know if its only on my side, but the image is not coming through as it use to.
Perhaps another fundamental change in the markup on the Google News site

All other fields are not affected, only image.
Image is coming though as the below, no https protocol
/api/attachments/******

example

[
{
"title": "Article title",
"subtitle": "Article subtitle",
"link": "http://url-to-website.com/path/to/article",
"image":"/api/attachments/CC8iK0NnNDRPVmRIZFVWYVIxaEViSFZGVFJDdEFSaWlBaWdCTWdZQk1vck5sUWs=-w400-h224-p-df-rw",
"source": "Name of publication",
"time": "Time/date published (human-readable)"
}
]

Package no longer returns news

As of 30 November - package no longer returns any news.

Since this relies on DOM selectors
I fundamental changes in the markup on the Google News site :(

How can change language

Hi,
I am trying to change the language
const url = https://news.google.com/search?hl=ta&gl=IN&ceid=IN:ta&q=latestnews when:${config.timeframe || '1h'}
using this URL it's Tamil news display but the response shows English alone and then I am past gl=IN. India news only displays bt it shows all over the world news.
https://prntscr.com/10t7s9h

I don't get any news

I don't get any news:

const googleNewsScraper = require('google-news-scraper')

async function main(){
  let articles = await googleNewsScraper({
      searchTerm: "Cuba",
      prettyURLs: false,
      timeframe: "5d",
      puppeteerArgs: []
  })
  console.log(articles)
}

main();

Console:

[]

Issue when hosted on vercel.

The package is working totally fine when I test is locally, but as soon as I host it on the vercel it is not working. Is it the problem with many people or only I am facing this sort of issue after hosting it on vercel?

I also tried puppeteerArgs: ["--no-sandbox", "--disable-setuid-sandbox"]

Error:

SCRAPING NEWS FROM: https://news.google.com/search?hl=en-US&gl=US&ceid=US:en&q=Cricket News when:12h
Error: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (1002410).

Hosted Site:
https://crickethub-pro.vercel.app/

Api:
https://github.com/Conqxeror/cric-api

App:
https://github.com/Conqxeror/crickethub.pro

Add Actual date object to response

The time field is human readable, I am happy with that.
My question is is it possible to include an actual date object in the response, maybe call it publishedAt

{
    "title":  "Article title",
    "subtitle":  "Article subtitle",
    "link":  "http://url-to-website.com/path/to/article",
    "image":"http://url-to-website.com/path/to/image.jpg",
    "source":  "Name of publication",
    "time":  "Time/date published (human-readable)",
    **### "publishedAt": "2022-01-10T09:38:15Z",**
}

No 'subtitle' property in output

{
    title: 'Data suggests Cayman can sustain $10 minimum wage',
    link: 'https://caymannewsservice.com/2024/03/data-suggests-cayman-can-sustain-10-minimum-wage/',
    image: 'https://news.google.com/api/attachments/CC8iK0NnNWtOM1JxZUhWTFowWnpNMmhGVFJDUUF4allCQ2dLTWdZdEpaNnZHUW8=-w400-h224-p-df-rw',
    source: 'Cayman News Service',
    datetime: 2024-03-11T07:00:00.000Z,
    time: '11 Mar',
    articleType: 'regular'
  }

I'm not getting the subtitle property in the output object. Am I missing something?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.