我正在尝试为website
构建一个刮刀我使用Scrapy,我可以从页面上获取信息。为了缩小我的结果,我希望蜘蛛只查看活动项目。用户通过单击单选按钮执行此操作:“Openstaande aanbestedingen”。
我无法弄清楚要使用哪个网址,因此结果已经被Open过滤了。我在this
上尝试了一些变体这会选中复选框,但它不会检查它。
有关如何通过URL实际检查radiobutton的任何想法?谢谢!
答案 0 :(得分:0)
TLDR:请尝试重新创建POST请求。但你可以使用javascript。
过滤器在POST
正文中设置(而不是您尝试的GET网址查询),例如:
aankondigingenplatform:aankondigingenplatform
aankondigingenplatform:opdracht-diensten:on
aankondigingenplatform:opdracht-leveringen:on
aankondigingenplatform:opdracht-werken:on
aankondigingenplatform:publicatie-datum:1
aankondigingenplatform:publicatie-date-van:
aankondigingenplatform:publicatie-date-tot:
aankondigingenplatform:sluitings-datum:0
aankondigingenplatform:sluitings-date-van:23-08-2016
aankondigingenplatform:sluitings-date-tot:
aankondigingenplatform:nationaal:on
aankondigingenplatform:europees:on
aankondigingenplatform:publicatie-vooraankondiging:on
aankondigingenplatform:publicatie-aankondigingOpdracht:on
aankondigingenplatform:publicatie-aankondigingGegundeOpdracht:on
aankondigingenplatform:typeProcedure:org.jboss.seam.ui.NoSelectionConverter.noSelectionValue
aankondigingenplatform:nederlands:on
aankondigingenplatform:engels:on
javax.faces.ViewState:j_id1
aankondigingenplatform:j_id399:aankondigingenplatform:j_id399
要亲自查看此内容,您可以使用Chrome并转到开发者控制台中的网络标签页。
要模拟鼠标点击选择单选按钮,您可以使用javascript,锚标签无法正常工作。我仍然建议重建POST(例如尝试使用Postman for Chrome)。
使用jQuery的javascript示例
$("#aankondigingenplatform:sluitings-datum:1").prop("checked", true);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="aankondigingenplatform:sluitings-datum" class="no-border marginBottom0">
<tbody>
<tr>
<td>
<input type="radio" checked="checked" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:0" value="0" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'} )">
<label for="aankondigingenplatform:sluitings-datum:0" title=" Alle"> Alle</label>
</td>
</tr>
<tr>
<td>
<input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:1" value="1" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'} )">
<label for="aankondigingenplatform:sluitings-datum:1" title=" Openstaande aanbestedingen"> Openstaande aanbestedingen</label>
</td>
</tr>
<tr>
<td>
<input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:2" value="2" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'} )">
<label for="aankondigingenplatform:sluitings-datum:2" title=" Gesloten aanbestedingen"> Gesloten aanbestedingen</label>
</td>
</tr>
<tr>
<td>
<input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:3" value="3" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'} )">
<label for="aankondigingenplatform:sluitings-datum:3" title=" Binnen 2 maanden"> Binnen 2 maanden</label>
</td>
</tr>
<tr>
<td>
<input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:4" value="4" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'} )">
<label for="aankondigingenplatform:sluitings-datum:4" title=" Anders, namelijk:"> Anders, namelijk:</label>
</td>
</tr>
</tbody>
</table>
&#13;