В документации scrapyrt POST мы можем передать запрос JSON, как это, но как вы получаете доступ к метаданным, таким как категория и элемент в start_requests?
{
"request": {
"meta": {
"category": "some category",
"item": {
"discovery_item_id": "999"
}
},
, "start_requests": true
},
"spider_name": "target.com_products"
}
Ссылка: https://scrapyrt.readthedocs.io/en/latest/api.html#id1
В scrapyRT есть несвязанный PR, который добавляет поддержку для передачи дополнительных параметров из запроса POST.
1) Загрузите файл resources.py, расположенный в папке scrapyrt. В моем случае был /usr/local/lib/python3.5/dist-packages/scrapyrt/resources.py
Замените этот код: https://github.com/gdelfresno/scrapyrt/commit/ee3be051ea647358a6bb297632d1ea277a6c02f8
2) Теперь вы в пауке можете получить доступ к новым параметрам с помощью self.param1
Пример скручивания ScrapyRT:
curl -XPOST -d '{
"spider_name":"quotes",
"start_requests": true,
"param1":"ok"}' "http://localhost:9080/crawl.json"
В вашем пауке
def parse(self, response):
print(self.param1)
С уважением