表单发布到第二个网页时的 scrapy 表单填写
scrapy form-filling when form posts to a second web page
scrapy 的新手,想知道是否有人可以将我指向一个使用 scrapy 提交到 HTML 表单的示例项目,这些表单在表单的操作页面与 where 的地址不同的情况下具有隐藏字段表格本身被呈现。
在 Scrapy 中最简单的方法是什么?我可以看到您可以编写两个蜘蛛 - 第一个获取带有表单的 html 并挑选出所有隐藏字段,然后第二个使用带有隐藏字段的信息来提交表单。
我想知道是否有一个 1 步过程来代替(Scrapy 请求文档似乎假设它都在同一页上,当它说使用 FormRequest.from_response 将处理隐藏字段时)。如果是这样,有人能告诉我在哪里可以找到第一步过程的步骤吗?
FormRequest
扩展了Request
对象。因此,您可以使用 FormRequest.from_response
获得包含隐藏值的 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
scrapy 的新手,想知道是否有人可以将我指向一个使用 scrapy 提交到 HTML 表单的示例项目,这些表单在表单的操作页面与 where 的地址不同的情况下具有隐藏字段表格本身被呈现。
在 Scrapy 中最简单的方法是什么?我可以看到您可以编写两个蜘蛛 - 第一个获取带有表单的 html 并挑选出所有隐藏字段,然后第二个使用带有隐藏字段的信息来提交表单。
我想知道是否有一个 1 步过程来代替(Scrapy 请求文档似乎假设它都在同一页上,当它说使用 FormRequest.from_response 将处理隐藏字段时)。如果是这样,有人能告诉我在哪里可以找到第一步过程的步骤吗?
FormRequest
扩展了Request
对象。因此,您可以使用 FormRequest.from_response
获得包含隐藏值的 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