PhantomJS:使用Cloudflare Protection从网站下载文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PhantomJS:使用Cloudflare Protection从网站下载文件相关的知识,希望对你有一定的参考价值。
我有这个代码,想要下载文件。解析受保护站点的源代码工作正常,但文件下载不起作用。也许任何人都可以告诉我错误在哪里?
"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
答案
好的,我解决了。使用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)
以上是关于PhantomJS:使用Cloudflare Protection从网站下载文件的主要内容,如果未能解决你的问题,请参考以下文章