我是python的新手。我正在使用python 2.7并试图抓取网站并收集数据。我在选择下拉列表时遇到问题,并获得具有更新项目列表的新响应表单。
以下是步骤:
最初只填充州和年周期。其余的下拉菜单按顺序依赖于彼此。例如: 选择状态时 - >它以动态的方式填充了区域。当选择区时 - >它填充了Sub District,同样Village也选择了Sub区。由于javascript,这种动态更新正在发生。
到目前为止我能够进入收集状态列表的阶段(使用beautifulsoup和mechanize)。最初我只是选择一个州并将表格提交为:
def select_form(form):
return form.attrs.get('action', None) == '/PublicReports/NutrientStatusFarmerWise'
br = mechanize.Browser()
br.open(url)
br.response()
br.select_form(predicate=select_form)
br.form.set_all_readonly(False)
br.form['State_Code'] = ['29']
response = br.submit()
print response.read()
当我打印response.read时,我看不到新填充的地区名称。我不知道这里缺少什么。以类似的方式,我需要收集区域名称以填充子区域,依此类推其他项目。
任何线索和提示都会有很大的帮助
PS:我已阅读旧帖并将其用作参考:
Web Scraper for dynamic forms in python
谢谢!