使用Python请求或robobrowser从aspx表单中刮取数据
我想从.aspx页面上的使用Python请求或robobrowser从aspx表单中刮取数据,python,asp.net,scrape,Python,Asp.net,Scrape,我想从.aspx页面上的 https://www.clarkcountycourts.us/Anonymous/Search.aspx?ID=400 我的问题是如何正确制定搜索参数,以便在中使用 我试图使用python请求或robobrowser,但该站点上的表单有点复杂。我不知道如何“点击”单选按钮来选择某些选项。我的第一个问题是,我希望我的爬虫“点击”在“搜索方式”下拉菜单,并选择“党”。我想我在网站上找到了执行此操作的元素: <select id='SearchBy' name='
https://www.clarkcountycourts.us/Anonymous/Search.aspx?ID=400
我的问题是如何正确制定搜索参数,以便在
中使用
我试图使用python请求或robobrowser,但该站点上的表单有点复杂。我不知道如何“点击”单选按钮来选择某些选项。我的第一个问题是,我希望我的爬虫“点击”在“搜索方式”下拉菜单,并选择“党”。我想我在网站上找到了执行此操作的元素:
<select id='SearchBy' name='SearchBy' onChange='SwitchCaseSearch(this.value, true)' onKeyUp='SwitchCaseSearch(this.value, true)' LabelName='Search By:'>
如何处理这个问题?我真的需要“点击”吗?或者在所需类别中是否有其他搜索方式?谢谢
编辑:提交表单时发布浏览器发送的请求
robobrowser
包装请求
;仅使用后者意味着您必须自己进行表单解析,而robobrowser
使用beautifulsou为您进行解析;这里没有任何东西可以为您调用SwitchCaseSearch(1)
。该下拉列表只驱动浏览器中实际显示的表单;robobrowser只需填写HTML即可。我只需要忽略选择框,直接选择正确的表单元素。如果你想自动化JavaScript驱动的表单,你要么需要使用带JS解释器的刮板,要么需要驱动一个真正的浏览器la Selenium(或者使用类似Phantom的东西,介于两者之间)。另一种方法是弄清楚JS最终会做什么(通常是手动完成,或者记录浏览器发出的请求并将其反转),然后在robobrowser
@abarnert中完成这项工作:快速浏览一下,我会说表单都在那里,下拉菜单所做的就是控制哪个是可见的。
<input type="radio" name="PartySearchMode" onclick="SwitchPartyType(this.value, true)" value="BusinessName" id="PartyBusinessOption" labelname="Party Search Mode:" labelvalue="Business Name" style="display: inline;">