爬虫笔记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)
相关推荐
love530love1 小时前
【笔记】为 Miniconda 安装图形界面的方法
人工智能·windows·笔记·python·conda
A1-297 小时前
QT之INI、JSON、XML处理
xml·c++·qt·json
xin007hoyo8 小时前
算法笔记·数学·最大公约数
笔记·算法
miaoyumeng_wn8 小时前
5月21日学习笔记
笔记·学习·oracle
岂是尔等觊觎9 小时前
PCB设计教程【入门篇】——电路分析基础-基本元件(二极管三极管场效应管)
经验分享·笔记·嵌入式硬件·学习·pcb工艺
潇-xiao9 小时前
Qt 控件发展历程 + 目标(1)
c++·笔记·qt
cesske9 小时前
uniapp打包报错:重新在manifest.json中生成自己的APPID
uni-app·json
油头少年_w10 小时前
Python 爬虫之requests 模块的应用
开发语言·爬虫·python
在人间耕耘10 小时前
开发者工具箱-鸿蒙颜色转换器开发笔记
笔记·华为·harmonyos
NULL指向我11 小时前
香橙派3B学习笔记2:Vscode远程SSH登录香橙派_权限问题连接失败解决
笔记·vscode·学习