Проблемы, как получить sr c iframe, который имеет элемент песочницы, используя cheerio - PullRequest
0 голосов
/ 15 апреля 2020

Привет, разработчики,

Я пытаюсь взять sr c из iframe, но не могу получить URL. Очевидно, у iframe есть элемент песочницы, который не позволяет мне видеть sr c.

Я использую библиотеку cloudscraper, которая помогает мне обходить блок cloudflare

Разве нет способа получить значение sr c?

Я ценю вашу помощь!

Вот пример кода

const cloudscraper = require('cloudscraper');
const cheerio = require('cheerio');


const main = async() =>{
  let url = "https://playerhost.net/show/vikings/01-01?watching=R9rz2SEFDoimDILGkMSwQMtxB";
  let res = await cloudscraper(url , {method: 'GET'});
  let $ = cheerio.load(res);
  const iframeURL = $('iframe').attr('src');
  console.log(iframeURL)
};

main();

1 Ответ

0 голосов
/ 15 апреля 2020

решение с использованием кукловода

const requestIframeWithAttrSandBox = async(url) =>{
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(url);

  const urls = await page.$$eval('iframe', el=> [].map.call(el, d => d.src));
  await browser.close();

  const _url = urls[0];
  return _url
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...