logo
Loading...

如何取出很長字典的值 - Cupoy

老師您好像爬蟲擷取的 json 都會是很長的字典如:data=json.loads(xxx) '{"...

pycrawler,pycrawler-d06

如何取出很長字典的值

2019/12/06 下午 11:38
Python網路爬蟲討論版
金仁冕
觀看數:3
回答數:2
收藏數:0
pycrawler
pycrawler-d06

老師您好

像爬蟲擷取的 json 都會是很長的字典

如:

data=json.loads(xxx)


 '{"data":[{"id":683070334,"type":"answer","answer_type":"normal","question":{"type":"question","id":55493026,"title":"你们都是怎么学 Python 的?","question_type":"normal","created":1486390229,"updated_time":1543075931......


想請問在上述的字典中,我為了取出 'created' 已經先輸入 

for d in data['data']:

可是還有一層 'question' 才能取出 'created',請問該怎麼做?

回答列表

  • 2019/12/07 下午 02:25
    小糖果
    贊同數:2
    不贊同數:0
    留言數:0

    你好,如果是要取出題目發問的時間,因為data['data']底下還有許多筆回答資料,所以先指定取用哪一筆,data['data'][0](假設取第一筆,因為下面每一筆回答都是針對同一個問題,所以取哪一筆應該都沒差),再取得其對應的問題發問時間 = > data['data'][0]['question']['created']這樣寫就可以取出囉!

  • 2019/12/08 上午 00:00
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    嗨,如同 小糖果 同學回覆的樣子,你必須先拆一下想要的資料在哪。先將 data list 中的每個資料取出,再從中取出  question dict 中的  created 。參考如下:


    ```

    for d in data['data']:

        print(d['question']['created'])

    ```