如何用Python mechanize解析动态更新的.jsp表单?
我正在学习如何使用Python的Mechanize库来抓取一些数据。大部分情况下,它都能正常工作,但我遇到一个问题,就是我正在查看的.jsp页面是动态更新的,而不是通过一个“提交”按钮来更新。
因此,我遇到了两个相关的问题:
1) 页面上有多个下拉框(SelectControls)需要设置。第二个下拉框的选项在我设置第一个下拉框之前是不会显示的。我该如何刷新页面,让第一个下拉框的值变成我想要的(在一个“真实”的浏览器窗口中,当我从第一个下拉框选择一个选项时,这个过程是自动完成的)。我尝试使用浏览器对象的response()和reload()方法,但这些方法会清除我给第一个下拉框设置的值。
2) 我想抓取的数据是在设置下拉框的值后动态出现的。同样,我需要以某种方式刷新浏览器来显示这些值,但没有提交按钮。
1 个回答
0
Mechanize这个工具不支持处理JavaScript,你可以尝试模拟JavaScript的操作(比如找出可能的值,然后手动构建或选择)。想了解更多细节和其他解决方案,可以查看这个回答:如何正确使用mechanize抓取AJAX网站