爬虫笔记12——网页爬取数据写入json文件

json数据格式介绍

JSON全称为JavaScript Object Notation, 也就是JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。该笔记中,我们就来了解如何利用Python保存数据到JSON文件。

python中的json库

直接导入该模块:

python 复制代码
import json
方法 作用
json.dumps() 把python对象转换成json对象,生成的是字符串。
json.dump() 用于将dict类型的数据转成str,并写入到json文件中

爬虫案例 - 4399网站游戏信息采集

python 复制代码
import json
import requests
from lxml import etree


def spider_4399(url):
    response = requests.get(url).content.decode('gbk')
    # print(response)
    tree = etree.HTML(response)
    # print(tree)
    gameLists = tree.xpath("//ul[@class='tm_list']/li/a")
    gameDicts = dict()
    result = list()
    # print(gameLists)
    for temp in gameLists:
        gameDicts['game'] = temp.xpath('./text()')[0]
        gameDicts['url'] = temp.xpath('./@href')[0]
        result.append(gameDicts)
    with open('./game.json', 'w', encoding='utf-8') as f:
        f.write(json.dumps(result, indent=2, ensure_ascii=False))
    print('程序结束!')



url = 'https://www.4399.com/'
spider_4399(url)
相关推荐
召唤神龙23 分钟前
Scrapy爬虫多IP代理配置指南:避开反爬还能提速的实战技巧
爬虫·tcp/ip
9ilk1 小时前
【基于one-loop-per-thread的高并发服务器】--- 自主实现HttpServer
linux·运维·服务器·c++·笔记·后端
大白的编程日记.1 小时前
【高阶数据结构学习笔记】高阶数据结构之B树B+树B*树
数据结构·笔记·学习
影林握雪2 小时前
M|小丑回魂 It (2017)
经验分享·笔记·其他·生活
学渣676562 小时前
个人笔记|单臂路由,子接口,VLAN标签
网络·笔记·智能路由器
深蓝电商API2 小时前
So 库的攻防:当爬虫遇到 Native 加密函数该怎么办?
爬虫·so库
小蜜蜂爱编程4 小时前
逻辑回归学习笔记
笔记·学习·逻辑回归
摇滚侠4 小时前
Vue 项目实战《尚医通》,完成预约通知业务,笔记21
前端·vue.js·笔记·前端框架
YJlio4 小时前
VMMap 学习笔记(8.3):VMMap 窗口全解析——内存类型、指标含义、颜色视图怎么读
笔记·学习·visual studio
云半S一5 小时前
春招准备之MyBatis框架篇
经验分享·笔记·mybatis