私はScrapyとPythonを初めて使います。私はScrapyの例でFormRequestを使用しようとしていますが、formdataパラメータが "Air"から '[]'を解析していないようです。これを回避する方法はありますか?FormRequest Scrapy
import scrapy
import re
import json
from scrapy.http import FormRequest
class AirfareSpider(scrapy.Spider):
name = 'airfare'
start_urls = [
'http://www.viajanet.com.br/busca/voos-resultados#/POA/MEX/RT/01-03-2017/15-03-2017/-/-/-/1/0/0/-/-/-/-'
]
def parse(self, response):
return [FormRequest(url='http://www.viajanet.com.br/busca/resources/api/AvailabilityStatusAsync',
formdata={"Partner":{
"Token":"p0C6ezcSU8rS54+24+zypDumW+ZrLkekJQw76JKJVzWUSUeGHzltXDhUfEntPPLFLR3vJpP7u5CZZYauiwhshw==",
"Key":"OsHQtrHdMZPme4ynIP4lcsMEhv0=",
"Id":"52",
"ConsolidatorSystemAccountId":"80",
"TravelAgencySystemAccountId":"80",
"Name":"B2C"
},
"Air":[{
"Arrival":{
"Iata":"MEX",
"Date":"2017-03-15T15:00:00.000Z"
},
"Departure":{
"Iata":"POA",
"Date":"2017-03-01T15:00:00.000Z"
},
"InBoundTime":"0",
"OutBoundTime":"0",
"CiaCodeList":"[]",
"BookingClass":"-1",
"IsRoundTrip":"true",
"Stops":"-1",
"FareType":"-"
}],
"Pax":{
"adt":"1",
"chd":"0",
"inf":"0"
},
"DisplayTotalAmount":"false",
"GetDeepLink":"false",
"GetPriceMatrixOnly":"false",
"PageLength":"10",
"PageNumber":"2"
}
, callback=self.parse_airfare)]
def parse_airfare(self, response):
data = json.loads(response.body)
あなたはこのリンクながらそのポスト要求 –