PhantomJS: Загрузить файл с веб-сайта с помощью Cloudflare Protection - PullRequest
0 голосов
/ 09 марта 2019

У меня есть этот код, и я хочу скачать файл.Разбор исходного кода защищенного сайта работает нормально, но загрузка Filedown не работает.Возможно, кто-нибудь может сказать мне, где ошибка?

"use strict";
var page = require('webpage').create(),
    system = require('system'),
    address, delay;

 var fs = require('fs');

if (system.args.length < 3 || system.args.length > 5) {
    console.log('Usage: delay.js URL delay');
    phantom.exit(1);
} else {
    address = system.args[1];
    delay = system.args[2];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('Unable to load the address!');
            phantom.exit(1);
        } else {
            window.setTimeout(function () {
                var content = page.content;
                fs.write(address);
                console.log(content);
                phantom.exit();
            }, delay);
        }
    });
}

Я выполняю это следующим образом:

phantomjs delay.js https://my.url/file.txt 10000

1 Ответ

1 голос
/ 10 марта 2019

Хорошо, я решил это. Использование Python и установленный "cfscrape" ранее.

import cfscrape
import sys

scraper = cfscrape.create_scraper()

url = (sys.argv[1])
cfurl = scraper.get(url).content
name = url.split('/')[-1]

with open(name, 'wb') as f:
    f.write(cfurl)
...