当表单发布到第二个web页面时,表单填充有问题

2024-04-26 13:37:34 发布

您现在位置:Python中文网/ 问答频道 /正文

对scrapy不熟悉,不知道是否有人可以给我指出一个使用scrapy提交到HTML表单的示例项目,在表单的action页面与表单本身的地址不一致的情况下,这些表单具有隐藏字段。在

在刮痧中最简单的方法是什么?我可以看到您可以编写两个spider-一个首先获取表单的html并选择所有隐藏的字段,然后第二个使用带有隐藏字段的信息来提交表单。在

我想知道是否有一个1步的过程来代替它(当垃圾请求文档说using时,它似乎假设它都在同一个页面上)FormRequest.from_响应将处理隐藏字段)。如果是这样的话,有人能告诉我在哪里可以找到1步过程的步骤吗?在


Tags: 项目方法信息表单示例过程地址html
1条回答
网友
1楼 · 发布于 2024-04-26 13:37:34

FormRequest扩展了Request对象。因此,您可以使用formdata包含隐藏值,如果需要,可以在之后更改url。在

演示伪代码:

class ExampleSpider(scrapy.Spider):
    name = 'example.com'
    start_urls = ['http://www.example.com/FormPage.php']

    def parse(self, response):
        request = scrapy.FormRequest.from_response(
            response,
            callback=self.parse_response_from_Form
        )
        request.replace(url='http://www.other-site.com/')
        return request

    def parse_response_from_Form(self, response):
        # go on here...
        pass

相关问题 更多 >