如何使用python mechanize解析动态更新的.jsp表单?

时间:2011-08-17 01:04:03

标签: javascript python beautifulsoup mechanize web-scraping

我正在学习如何使用Python Mechanize来抓取一些数据。在大多数情况下,它是有效的,但我遇到的一个问题是.jsp页面我正在动态更新而不是使用“提交”按钮。

我遇到了两个相关的问题:

1)我需要在页面上设置多个SelectControl。在我设置第一个SelectControl之前,不会填充第二个SelectControl的项目。如何在第一个SelectControl设置为我想要的值的情况下刷新页面(在“真实的”浏览器窗口中,这会在我从第一个下拉列表中选择一个选项时自动发生)。我尝试过使用浏览器对象的response()和reload()方法,但这些方法会删除我分配给第一个SelectControl的值。

2)当设置SelectControl控件值时,我想要抓取的数据会动态显示。同样,我需要以某种方式刷新浏览器以反映这些值,但是没有提交按钮。

1 个答案:

答案 0 :(得分:0)

Mechanize不处理javascript,你可以复制javascript所做的事情(例如找出可能的值并手动构建/选择它)。请参阅此答案以获取更多详细信息和替代解决方案How to properly use mechanize to scrape AJAX sites