首页 > 解决方案 > 如何使用python在scrapy中获取选择选项值

问题描述

我需要从选择标签中获取所有选项值

<select name="Department" tabindex="3">
    <option  type="text" size="3" maxlength="2" value=""></option>
    <option  value="CSC">CSC</option>
    <option  value="IT">IT</option>
    <option  value="MCA">MCA</option>
    <option  value="BE">BE</option>
</select>

我试过response.css('select::attr(name:Department)').extract()但没有得到。

我需要输出:

['CSC', 'IT', 'MCA', 'BE']

我是网络scrapy的新手,请帮助...

标签: pythonpython-3.xxpathscrapy-spider

解决方案


这是使用xpath

response.xpath('//select/option/text()').getall()

应该使用 xpath,因为它们比 css 选择器更强大。这是在scrapy本身(下面的东西)上指定的。

XPath 表达式非常强大,是 Scrapy Selector 的基础。事实上,CSS 选择器在底层转换为 XPath。如果您仔细阅读 shell 中选择器对象的文本表示,您会看到这一点。

您可以从选择器中了解更多关于它们的信息。


推荐阅读