Python-从(非.pdf)url下载pdf

Python-从(非.pdf)url下载pdf,python,asp.net,pdf,Python,Asp.net,Pdf,我正在尝试从一个有登录名的站点下载大约20个PDF文件。这是我目前所拥有的,但它无法下载任何有效的PDF(即,它们都已损坏)。我也是python新手 import mechanize import urllib2 def download_file(download_url): response = urllib2.urlopen(download_url) print response.geturl() print response.read() file

我正在尝试从一个有登录名的站点下载大约20个PDF文件。这是我目前所拥有的,但它无法下载任何有效的PDF(即,它们都已损坏)。我也是python新手

import mechanize
import urllib2

def download_file(download_url):
    response = urllib2.urlopen(download_url)
    print response.geturl() 
    print response.read()
    file = open("document.pdf", 'wb')
    file.write(response.read())
    file.close()

brwser = mechanize.Browser()
brwser.addheaders = [('User-agent', 'Firefox')]
response = brwser.open(url)

brwser.select_form(nr = 0)
brwser.form['UserName'] = 'username'
brwser.form['Password'] = 'password'
nextpage = brwser.submit()

# Navigate to the page I want

for link in brwser.links():
    if link.text == 'Some pdf':
        request = brwser.follow_link(link)
        download_file(link.url)
我不知道该试什么。PDF的URL如下所示

另外,response.read()如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Source
</title>
<script type='text/javascript'>
   window.onload = function () {
       var url = window.location.href.replace('source.aspx?', 'source2.aspx?');
       window.location = url;
   };
</script>
</head>
<body>
<div style='position:fixed; height:100%; width:100%; overflow:hidden; top:100px; left:100px;'>Loading, please wait.</div>
</body>
</html>

来源
window.onload=函数(){
var url=window.location.href.replace('source.aspx?','source2.aspx?');
window.location=url;
};
正在装货,请稍候。

那么如何下载这些文件呢

> P>你可以考虑使用硒,这可能更适合于与站点交互(不是机械化不是一个极好的工具)。关于如何实现这一点,有很多不错的文档(例如or):普遍接受的方法是调整Firefox,使其保存文件,而不是试图打开文件,然后访问每个链接


您还可能会发现,解析链接时,结果会完全不同,这取决于PDF的位置和生成方式。您也可以采用类似链接提取的方法。

我将很快尝试一下。谢谢