How do you use Scrapy to scrape web requests that return JSON? For example, the JSON would look like this:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
I would be looking to scrape specific items (e.g. name
and fax
in the above) and save to csv.
The possible reason JSON is not loading is that it has single-quotes before and after. Try this:
It's the same as using Scrapy's
HtmlXPathSelector
for html responses. The only difference is that you should usejson
module to parse the response:Hope that helps.