爬虫笔记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)
相关推荐
失败又激情的man4 小时前
爬虫逆向之观安(观镜WEB应用安全防护系统)
爬虫
EniacCheng5 小时前
【RUST】学习笔记-整型
笔记·学习·rust
断剑zou天涯5 小时前
【算法笔记】树状数组IndexTree
java·笔记·算法
北岛寒沫6 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第九课 公共产品与公共资源)
经验分享·笔记
Vizio<6 小时前
STM32HAL库开发笔记-STM32CubeMX点灯
笔记·stm32·嵌入式硬件
找方案6 小时前
hello-agents 学习笔记:智能体发展史 —— 从符号逻辑到 AI 协作的进化之旅
人工智能·笔记·学习·智能体·hello-agents
蒙奇D索大6 小时前
【数据结构】考研408 | 平方探测法精讲:跳跃探查的艺术与聚集迷思
数据结构·笔记·考研·改行学it
代码游侠6 小时前
应用——Linux进程通信与信号处理
linux·运维·服务器·笔记·学习·信号处理
AI视觉网奇6 小时前
Ue5 端上 搭建笔记
笔记·ue5
d111111111d7 小时前
在STM32中,中断服务函数的命名有什么要求?
笔记·stm32·单片机·嵌入式硬件·学习·c#