使用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"

}

]

}

我将要抓取特定的项目(例如namefax上面),并保存到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

回到顶部