如何更改所选的<;选择>;在scrapy中标记元素?
我正在尝试使用Scrapy对网站进行爬网 我需要在我的目标站点上查询一个板状函数的所有现有项的列表 问题是它只在目标年内搜索,并使用HTML标记选项指定 因此,我需要找到一种方法来更改s中的位置“selected”属性 我想我并不是真的在描述我的问题,所以我将附加一个简化的网站HTML代码:如何更改所选的<;选择>;在scrapy中标记元素?,scrapy,Scrapy,我正在尝试使用Scrapy对网站进行爬网 我需要在我的目标站点上查询一个板状函数的所有现有项的列表 问题是它只在目标年内搜索,并使用HTML标记选项指定 因此,我需要找到一种方法来更改s中的位置“selected”属性 我想我并不是真的在描述我的问题,所以我将附加一个简化的网站HTML代码: <select name="Search_FIS_YEAR" id="Search_FIS_YEAR" title="fiscal_year"> <option value="20
<select name="Search_FIS_YEAR" id="Search_FIS_YEAR" title="fiscal_year">
<option value="2014" selected>2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
...
<option value="2007">2011</option>
</select>
2014
2013
2012
...
2011
因此,我的目标网站的默认值是2014年,但我想通过编程将其值更改为2013年、2012年等
搜索查询通过向服务器发送POST请求方法的大型数据库发送
幸运的是,我找到了一种使用FormRequest.from_response发送查询的方法,但我并没有真正成功地修改代码的上述部分。我已经知道了答案 我所做的只是更改表单数据中选项的值:
yield FormRequest.from_response(
response,
formname=NAME_OF_FORM_WRAPPING_SELECT_HTML_ELEMENT
formdata={
'Search_FIS_YEAR': '2013', # or any other year value
}
callback=self.other_parse_function
)
这为我提供了所有的窍门。我想到的混乱方式是解析响应文本。我很确定这不是我想要的方式