您如何使用scrapy从网站上的选择标记中选择一个选项?

时间:2014-10-27 03:29:21

标签: python html web-scraping scrapy

我正在学习如何使用Scrapy。我正在按照教程模拟使用scrapy进行用户登录,然后在成功登录后收集数据(下面的代码)。但是,如果某个程序是登录过程的一部分,那么如何从下拉列表中选择某个选项?

class LoginSpider(BaseSpider):
    name = 'example.com'
    start_urls = ['http://www.example.com/users/login.php']

    def parse(self, response):
        return [FormRequest.from_response(response,
                    formdata={'username': 'john', 'password': 'secret'},
                    callback=self.after_login)]

    def after_login(self, response):
        # check login succeed before going on
        if "authentication failed" in response.body:
            self.log("Login failed", level=log.ERROR)
            return

        # continue scraping with authenticated session...

选择标记:

<select>

    <option>Value 1</option>
    <option>Value 2</option>
    <option>Value 3</option>

</select>

除了输入登录信息之外,我如何编程scrapy以在下拉列表中选择值1,例如值1。

1 个答案:

答案 0 :(得分:-1)

您可能需要通过选项&amp;它的值作为{Value,1},{Value,2}等表单数据中的键。