美文网首页互联网科技大数据 爬虫Python AI Sql
零基础带你搞定分布式爬虫(第二节)

零基础带你搞定分布式爬虫(第二节)

作者: Python编程社区 | 来源:发表于2018-09-05 13:30 被阅读1次

数据存储

json

------命名不要json.py,坑-----

JSON支持数据格式:

对象(字典)。使用花括号。

数组(列表)。使用方括号。

整形、浮点型、布尔类型还有null类型。

字符串类型(字符串必须要用双引号,不能用单引号)。

多个数据之间使用逗号分开。

注意:json本质上就是一个字符串。

#字典和列表转JSON:

>>> import json

>>> data = {

... 'name' : 'ACME',

... 'shares' : 100,

... 'price' : 542.23

... }

>>> json_str = json.dumps(data)

>>> json_str

'{"name": "ACME", "shares": 100, "price": 542.23}'

>>> data1 = json.loads(json_str)

>>> data1

{'name': 'ACME', 'shares': 100, 'price': 542.23}

处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。

# Writing JSON data

'''

data = [

{

'title': '钢铁是怎样练成的',

'price': 9.8

},

{

'title': '红楼梦',

'price': 9.9

}

]

'''

with open('data.json', 'w',encoding='utf-8') as f:

json.dump(data, f)

# Reading data back

with open('data.json', 'r') as f:

data = json.load(f)

csv文件处理

写入数据到csv文件

写入数据到csv文件,需要创建一个writer对象,主要用到两个方法。一个是writerow,这个是写入一行。一个是writerows,这个是写入多行。

import csv

headers = ['name','age','classroom']

values = [

('zhiliao',18,'111'),

('wena',20,'222'),

('bbc',21,'111')

]

with open('test.csv','w',newline='') as fp:

writer = csv.writer(fp)

writer.writerow(headers)

writer.writerows(values)

写入字典

import csv

headers = ['name','age','classroom']

values = [

{"name":'wenn',"age":20,"classroom":'222'},

{"name":'abc',"age":30,"classroom":'333'}

]

with open('test.csv','w',newline='') as fp:

writer = csv.DictWriter(fp,headers)

writer = csv.writeheader()

writer.writerow({'name':'zhiliao',"age":18,"classroom":'111'})

writer.writerows(values)

读取csv文件:

import csv

with open('test.csv','r') as fp:

reader = csv.reader(fp)

titles = next(reader)

for x in reader:

print(x)

这样操作,以后获取数据的时候,就要通过下表来获取数据。如果想要在获取数据的时候通过标题来获取。那么可以使用DictReader。示例代码如下:

import csv

with open('test.csv','r') as fp:

reader = csv.DictReader(fp)

for x in reader:

print(x['name'])

相关文章

网友评论

    本文标题:零基础带你搞定分布式爬虫(第二节)

    本文链接:https://www.haomeiwen.com/subject/tprawftx.html