Scrapy FormRequest отправляет JSON

Я пытаюсь создать FormRequest, который может отправить контент-тип: application / json.

Вот что я пытаюсь:

yield FormRequest("abc.someurl.com", formdata=json.dumps({"referenceId":123,"referenceType":456}), headers={'content-type':'application/json'}, callback=self.parseResult2) 

Если я использую json.dumps() для обработки данных формы в formdata =, то я получаю ошибку

"exceptions.ValueError: требуется более 1 значения для распаковки"

Я не могу просто использовать список, как в

 formdata={"referenceId":123,"referenceType":456} 

FormRequest работает, но не принимается сервером.

 import requests import json result = requests.post(url, json.dumps({"referenceId":123,"referenceType":456}), headers={'content-type':'application/json'}) 

Он работает из командной строки python, как указано выше.

Есть идеи?

-km

One Solution collect form web for “Scrapy FormRequest отправляет JSON”

FormRequest предназначен для моделирования HTML-формы (например, application / x-www-form-urlencoded). Похоже, вы просто хотите получать данные POST с помощью вашего запроса. Поскольку вы указываете тип контента «application / json», вы, вероятно, захотите сделать что-то вроде этого:

 request = Request( url, method='POST', body=json.dumps(my_data), headers={'Content-Type':'application/json'} ) 
  • как хранить снимки на Amazon S3?
  • Регистрация брызг Scrapy
  • Понимание обратных вызовов в Scrapy
  • Как создать проект scrapy от python3
  • Спайдер не найден: интеграция с Django Scrapy
  • Не удалось выполнить обход элемента определенного веб-сайта с помощью scrapy spider
  • Модификация экспорта CSV в scrapy
  • Scrapy xpath между двумя ключевыми словами
  • Установка scrapy на mac-pyasn1 не найдена
  • обучения python, а также попытки реализовать scrapy.
  • Python Scrapy - заполнить start_urls из mysql
  • Python - лучший язык программирования в мире.