下载独特的PDF文件

2024-05-19 01:41:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我每个季度都要从150多个网站下载300多份pdf文件,我开始认为必须使用python实现自动化。这些PDF每季度发布一次,详细描述了共同基金在上一季度的表现。90%的时候,这些PDF被称为“季度评论”或“评论”,所以我想用python编写一个脚本,在特定于基金的url ex(https://www.pimco.com/investments/mutual-funds/total-return-fund/inst)中搜索关键字“commentation”,找到链接,然后下载得到的PDF文件。在

我还想命名下载文件,以符合适当的共同基金名称。现在我所使用的是一个excel电子表格。在A栏我有正确的共同基金名称。在B栏我有共同基金的网址。在

这有可能吗?在


Tags: 文件https脚本名称urlpdf基金网站
1条回答
网友
1楼 · 发布于 2024-05-19 01:41:42

就我个人而言,我发现使用CaspjerJS和PhantomJS从外部网站下载文件更容易,因为您可以将javascript代码注入页面以获取所需的元素。在

Here is the casperjs documentation

下面是我写的一些代码,可以从我的教授网页下载讲座并下载到我的桌面上:

var casper = require('casper').create({verbose: true , logLevel: "debug" });
var url = "https://www.cs.rit.edu/~ib/Classes/CSCI264_Fall16-17/assignments.html";
var fs = require('fs');
casper.start(url);
var elements; 
casper.then(function(){
    elements = this.evaluate(function(){ 
        var pdfs =  document.querySelectorAll('body ul li a'); 
        return Array.prototype.map.call(pdfs, function(e) {
            return e.getAttribute('href');
        });
    });
    for(var i = 0; i < elements.length; ++i){
        var url = "" + elements[i] + "";
        if(url.indexOf('pdf') !== -1){
            var file = fs.absolute(url.substring(url.lastIndexOf("/")+1, url.length));          
            this.download(url, file);   
        }
    }   
});


casper.run(function() {
    this.echo('Done.').exit();
});

当然,如果您对使用python没有任何兴趣,那么就完全忽略这一点。否则,祝你的CasperJS脚本好运。在

相关问题 更多 >

    热门问题