json解析模塊

json.loads(json)

把json格式的字符串轉爲Python數據類型html

html_json = json.loads(res.text)python

json.dumps(python)

把 python 類型 轉爲 json 類型數據庫

import json
​
# json.dumps()以前
item = {'name':'QQ','app_id':1}
print('before dumps',type(item))
# json.dumps以後
item = json.dumps(item)
print('after dumps',type(item))

json.load(f)

將json文件讀取,並轉爲python類型json

import json
​
with open('D:\\spider_test\\xiaomi.json','r') as f:
    data = json.load(f)
​
print(data)

json.dump(python,f,ensure_ascii=False)

把python數據類型 轉爲 json格式的字符串,通常讓你把抓取的數據保存爲json文件時使用app

參數ide

  • python: python類型的數據(字典,列表等)
  • f: 文件對象
  • ensure_ascii: ensure_ascii=False # 序列化時編碼
import json

# 示例1
item = {'name': '金毛獅王', 'card': '屠龍刀'}
with open('yt.json', 'a') as f:
    json.dump(item, f, ensure_ascii=False)

# 示例2
item_list = [
    {'name': '紫衫龍王', 'card': '123'},
    {'name': '青翼蝠王', 'card': '456'}
]
with open('ystlj.json', 'a') as f:
    json.dump(item_list, f, ensure_ascii=False)

練習: 將騰訊招聘數據存入到json文件編碼

# 1. __init__()
    self.f = open('tencent.json','a')
    self.item_list = []
# 2. parse_page()
    self.item_list.append(item)
# 3. main()
    json.dump(self.item_list,self.f,ensure_ascii=False)
    self.f.close()

json模塊總結

爬蟲用到json最多spa

一、數據抓取 - json.loads(html)code

  將響應內容由: json 轉爲 pythonhtm

二、數據保存 - json.dump(item_list,f,ensure_ascii=False)

  將抓取的數據保存到本地 json文件

抓取數據通常處理方式

  1. txt文件
  2. csv文件
  3. json文件
  4. MySQL數據庫
  5. MongoDB數據庫
  6. Redis數據庫
相關文章
相關標籤/搜索