我正在尝试使用Python 在网站(http://bibliotecadigitalhispanica.bne.es)上自动下载一些PDF .
我已经尝试使用urllib/urllib2/mechanize模块(我一直用于其他网站:这包括标准函数,如urlopen,urlretrieve等),但是在这里,链接嵌入了他们的href属性中的JavaScript一些处理和打开PDF,这些模块似乎无法处理,至少从我在这里读到的.例如,当我执行以下操作时:
request = mechanize.Request('the example url below')
response = mechanize.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
它只是回到包含HTML页面 - 我似乎无法提取PDF(该页面内也没有链接).
我知道通过查看真实浏览器中的标题(使用Firefox中的LiveHTTPHeaders扩展名),可以发出大量HTTP请求并最终返回PDF(并在浏览器中显示).我希望能够拦截并下载它.具体来说,我得到一系列302和304响应,最终导致PDF.
以下是我正在抓取的链接属性示例:href ='javascript:open_window_delivery(" http://bibliotecadigitalhispanica.bne.es:80/verylonglinktoaccess ");'
似乎如果我执行嵌入在href属性中的这个JavaScript,我最终可以到达PDF文档本身.我尝试过使用硒,但这有点令人困惑 - 我不太确定如何在阅读其文档时使用它.有人可以建议一种方式(通过我没有尝试过的模块或我通过的模块),我可以这样做吗?
非常感谢您对此的任何帮助.
PS:如果你想看看我想要复制什么,我试图访问下面提到的PDF链接(带有PDF图标的那些):):http: //bibliotecadigitalhispanica.bne.es/R/9424CFL1MDQGLGBB98QSV1HFAD2APYDME4GQKCBSLXFX154L4G-01075?FUNC =集合-结果&collection_id = 1356