如何从JSON响应中抓取数据?

时间:2018-11-14 07:34:34

标签: python json scrapy

我正在使用python的scrapy。

这是我的网址:

https://www.workingnomads.co/jobsapi/job/_search?sort=expired:asc,premium:desc,pub_date:desc&_source=company,category_name,description,location_base,instructions,id,external_id,slug,title,pub_date,tags,source,apply_url,premium,expired,use_at

我的代码:

def parse(self, response):
        jsonresponse = json.loads(response.body_as_unicode())
        print("============================================================================================================================")
        print(jsonresponse["hits"]["hits"])

它以JSON格式返回响应,如下所示。

enter image description here

如何获取特定键的值?

这是邮递员的回复

enter image description here

我要检索apply_url键值。

1 个答案:

答案 0 :(得分:2)

您将要访问:

['hits']['hits'][x]['_source']['apply_url']

其中x是hits下的项目/节点数。参见https://jsoneditoronline.org/?id=3757afd4ef634f99ae7264372eaf0ff4

如您所见,命中->命中下有10个项目或节点。每个项目的apply_url_source下。

def parse(self, response):
    jsonresponse = json.loads(response.body_as_unicode())
    print("============================================================================================================================")
    for x, node in enumerate(jsonresponse):
        print(jsonresponse['hits']['hits'][x]['_source']['apply_url'])

例如,print(jsonresponse['hits']['hits'][0]['_source']['apply_url'])将产生:

https://boards.greenhouse.io/mesosphere/jobs/1422922?gh_jid=1422922