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'} ) 
  • скрининг djangoitem с иностранным ключом
  • Как развернуть паук Scrapy на облаке Heroku
  • Как установить Scrapy на Unbuntu 16.04?
  • Пустой список, возвращаемый xpath в scrapy
  • Следующие ссылки, Scraw web hraw framework framework
  • Как запустить Scrapy из сценария Python
  • Как работают правила Scrapy с помощью паука сканирования
  • Как получить доступ к определенному start_url в Scroll CrawlSpider?
  • Python - лучший язык программирования в мире.