我需要创建一个脚本,该脚本将登录到经过身份验证的页面并下载pdf。
但是,我需要下载的pdf不是URL,而是在点击页面上的特定input
按钮时生成的。当我检查HTML源代码时,它只会向我提供按钮图形的网址以及按钮name
和input
的一些模糊action="."
。
此外,按钮所在的网址和表单名称都会被遮挡,例如:
/WebObjects/MyStore.woa/wo/5.2.0.5.7.3
0.0.5.7.1.1.11.19.1.13.13.1.1
如何登录页面,“点击”该按钮,并在脚本中下载pdf文件?
答案 0 :(得分:3)
也许Mechanize模块可以提供帮助。
我认为点击按钮的网址可能是使用javascript生成的。因此,要从python脚本运行javascript代码,请查看Spidermonkey。
答案 1 :(得分:2)
尝试机械化或斜纹。 HttpFox或firebug可以帮助您构建查询。请记住,您也可以从浏览器中腌制cookie,稍后再使用py libs。如果代码是通过javascript生成的,则可以“反向工程”'它。如果nof你可以运行一些javascript解释或使用selenium或windmill编写真实的浏览器脚本。
答案 2 :(得分:1)
您可以观察单击按钮时所做的请求(使用Firefox中的Firebug或Chrome中的开发人员工具)。然后,您可以直接请求PDF。
如果没有看到相关页面,很难提供帮助。
答案 3 :(得分:0)
正如Acorn所说,你应该尝试监控实际的请求,看看你是否能发现一种模式。
如果没有,那么你最好的选择是自动化一个功能齐全的浏览器,它将能够运行Javascript,所以你将完全模仿普通用户会做什么。在Python Wiki上查看this page的想法,查看围绕Web“Python库”和“浏览器技术”的 Python Wrappers部分。