From bc944c23736f747ed5d67a21011a262fc2180d50 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Tue, 29 Dec 2020 02:05:22 +0100 Subject: [PATCH] Restored Mike Adriano scraper. --- src/scrapers/mikeadriano.js | 20 ++++++-------------- src/utils/http.js | 8 ++++++-- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/scrapers/mikeadriano.js b/src/scrapers/mikeadriano.js index e27c671b..07e25996 100644 --- a/src/scrapers/mikeadriano.js +++ b/src/scrapers/mikeadriano.js @@ -37,8 +37,6 @@ async function scrapeScene({ query }, url) { const pathname = new URL(url).pathname; release.entryId = pathname.match(/\/view\/(\d+)/)?.[1] || pathname.match(/\/view\/([\w-]+)/)?.[1]; - console.log(release); - release.title = query.cnt('.content-page-info .title'); release.description = query.cnt('.content-page-info .desc'); release.date = query.date('.content-page-info .date, .content-page-info .hide, .post-date', 'Do MMM YYYY'); @@ -73,29 +71,23 @@ async function fetchScene(url, channel) { const cookieJar = http.cookieJar(); const session = http.session({ cookieJar }); - console.log(cookieJar); - + /* not working const resA = await http.get(url, { session, extract: { - cookieJar, - // runScripts: 'dangerously', + runScripts: 'dangerously', }, }); - console.log(resA.headers, cookieJar.getCookiesSync(url)); - const cookie = cookieJar.getCookieStringSync(url); + cookieJar.setCookieSync(http.toughCookie.Cookie.parse(resA.document.cookie), url); - console.log(cookie); + console.log(res.req); + */ const res = await http.get(url, { - headers: { - cookie, - }, + session, }); - // console.log(res.req); - if (res.ok) { const item = qu.init(res.document); diff --git a/src/utils/http.js b/src/utils/http.js index 19a9870c..330313b0 100644 --- a/src/utils/http.js +++ b/src/utils/http.js @@ -6,7 +6,7 @@ const util = require('util'); const stream = require('stream'); const tunnel = require('tunnel'); const Bottleneck = require('bottleneck'); -const { JSDOM, CookieJar } = require('jsdom'); +const { JSDOM, toughCookie } = require('jsdom'); const logger = require('../logger')(__filename); const virtualConsole = require('./virtual-console')(__filename); @@ -166,10 +166,14 @@ function getSession(options) { } function getCookieJar(store, options) { - return new CookieJar(store, options); + return new toughCookie.CookieJar(store, { + looseMode: true, + ...options, + }); } module.exports = { + toughCookie, get, head, post,