我想在 python 中访问一个 url,它基本上返回 csv 数据。问题是它位于需要 javascript 的登录页面后面(它在登录页面上没有做任何有用的事情,它只是为了确保后续页面有 javascript)。我已经在我的开发机器(一个 Fedora 桌面)上用 ghost 成功地做到了这一点。现在的问题是,生产机器是无头的centos 6.2机器(旧软件)。所以我让幽灵在那里运行的追求让我陷入了依赖和向后移植地狱(我在尝试向后移植 qt 时放弃了......)。
我尝试使用 mechanize,但登录页面拒绝了,因为没有启用 javascript...
所以我想知道我的选择是什么:
- 我可以以某种方式欺骗网站,让其认为我可以使用 mechanize 来编写 javascript 吗?(因为 javascript 对我没有任何用处)
- 是否有任何 python 屏幕抓取工具可以执行 javascript 但不需要显示并在 centos 6.2 上工作而无需大量反向移植?
这是登录页面上的javascript:
<script type="text/javascript">
var fname = window.self.name || '';
var shash = window.self.location.hash || '';
if ( fname == "foobar_frame" && shash.indexOf("login-reload") < 0 ) {
window.parent.location.replace(window.parent.location.href +'#login-reload');
window.parent.location.reload();
}
</script>
<div id='login_form_div'>
... html login form - I can handle that ...
</div>
<script type="text/javascript">
document.login_form.login_username.focus();
... more javascript embedding social media stuff - i guess unrelated
</script>
欢迎任何提示。