json里面的list数据取不出来_Python爬虫进阶教程(五):数据存储

本篇主要介绍,爬取html数据后,将html的正文内容存储为json或csv格式。

json格式存储

选定要爬取的网站后,我们利用之前学过的内容,如:Beautiful Soup、xpath等方式解析,来获取我们希望得到的内容。

获取数据

首先使用urllib访问页面https://www.lagou.com/zhaopin/Python/?labelWords=label 获取html内容,代码如下:

from 

通过上面的代码获取了html内容,接下来就要分析html来提取我们需要的内容了。 打开拉钩页面,使用ctrl+ F12打开火狐浏览器工具,可以看到我们想要获取的内容,职位、工作地点、薪资、发布的公司等信息都在一个div中,如下图:

4c7d87a6fa51eacc923cdbfc0eb7b877.png

下一步我们就使用之前介绍过的Beautiful Soup获取这个div内容,同时也可以获取我们需要的内容,通过工具我们可以看到我们需要的内容所在的标签,见下图:

d268a906ec4d2a814d33f315443d09d2.png
# 生成soup实例

都是通过Beautiful Soup的方法获取的内容,如果不懂,大家可以翻翻之前的工具篇。输出的内容如下:

Python 

好,数据有了,就差存储了。

数据存储(json)

python通过json模块对数据进行编码和解码。编码过程是,通过json模块的dumps和dump对数据进行python对象到json对象的转换,解码过程是,通过json模块的loads和load对数据进行json对象到python对象的转换。 编码 dump将python 对象序列化为一个JSON格式的流,存储到文件,转换时类型变化如下:

b2e680456c48d2e1c685cd89487fc4ea.png

json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

dumps将obj序列化为JSON格式的str json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

解码 load对Python对象进行反序列化,可以从文件读取 json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

a95002a7bdcb855287b2720323883086.png

oads对Python对象进行反序列化 json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

了解了json操作,现在就可以把之前获取的拉钩数据存储为json了,见下面代码:

with 

好了,存储为json格式就说到这里了。完整代码如下:

import 

csv格式存储

所谓的CSV(Comma Separated Values)格式是电子表格和数据库最常用的导入和导出格式。 python的csv模块实现类以csv格式读取和写入表格数据。它允许程序员说,“以Excel的格式编写这些数据”,或者“从Excel生成的文件中读取数据”,而不知道Excel使用的CSV格式的详细信息。程序员还可以描述其他应用程序所理解的CSV格式,或者定义他们自己的专用CSV格式。

写数据到csv文件中

# -*- coding: utf-8 -*-

生成的csv文件内容如下:

id

写字典到csv文件

import 

获取的csv文件内容如下:

first_name

读取csv文件

import 

结果如下:

[

以字典形式读入csv文件

import 

输出结果:

[

所以爬取拉钩网数据,如果存储到csv文件的代码如下:

import 

获取的数据如下:

27cd8d103704dbead3353c60f2da1320.png

突然发现今天的例子还是存为csv格式合适,找工作新技能,你get了吗~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值