我正在尝试使用Scrapy抓取网站。
我需要在目标网站上查询类似董事会功能的所有现有项目列表。
问题是它只在目标年份内搜索,用HTML标签选项指定。
所以我需要找到一种方法来改变s中的“selected”属性。
我认为我在描述我的麻烦时并没有真正做到这一点,所以我会附加一个简化的网站HTML代码:
<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年等。
搜索查询通过一个大型发送,向服务器发出POST请求方法。
幸运的是我找到了一种使用FormRequest.from_response发送查询的方法,但是我并没有真正成功修改代码的上述部分。
答案 0 :(得分:0)
我已经知道了答案。
我所做的只是改变表单数据中选项的值:
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
)
这为我做了所有的伎俩。