使用Scrapy抓取JSON响应
如何使用Scrapy抓取返回JSON的Web请求?例如,JSON如下所示:
{ "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"
}
]
}
我将要抓取特定的项目(例如name
和fax
上面),并保存到csv。
回答:
这与使用Scrapy的HtmlXPathSelectorhtml
响应相同。唯一的区别是你应该使用json
模块来解析响应:
class MySpider(BaseSpider): ...
def parse(self, response):
jsonresponse = json.loads(response.body_as_unicode())
item = MyItem()
item["firstName"] = jsonresponse["firstName"]
return item
希望能有所帮助。
以上是 使用Scrapy抓取JSON响应 的全部内容, 来源链接: utcz.com/qa/434168.html