博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫系列(4.1-关于文件的写入)
阅读量:6159 次
发布时间:2019-06-21

本文共 1544 字,大约阅读时间需要 5 分钟。

一、关于python中json模块的回顾

1、json.dumps():将python中字典转换为json字符串

2、json.loads():将json字符串转换为python字典

1、使用前面使用 bs4 爬取获取贵州农产品爬取的数据

2、存储到本地文件中

...

def down_data(self):

"""

下载数据

:return:

"""

soup = BeautifulSoup(self.get_html, 'lxml')

table = soup.find('table', attrs={'class': 'table table-hover'})

trs = table.find('tbody').find_all('tr')

food_list = []

fb = open('food.json', 'a', encoding='utf-8')

for tr in trs:

food_dict = {}

tds = tr.find_all('td')

name = tds[0].get_text()

price = tds[1].get_text()

address = tds[3].get_text()

time = tds[4].get_text()

food_dict['name'] = name

food_dict['price'] = price

food_dict['address'] = address

food_dict['time'] = time

food_list.append(food_dict)

# 将数据写入本地文件中

fb.write(json.dumps(food_dict, indent=2, ensure_ascii=False) + ',\n')

fb.close()

return food_list

1、导包

import codecs

2、保存数据的代码

def down_data(self):

"""

下载数据

:return:

"""

soup = BeautifulSoup(self.get_html, 'lxml')

table = soup.find('table', attrs={'class': 'table table-hover'})

trs = table.find('tbody').find_all('tr')

food_list = []

# 使用codecs的方法打开

fb = codecs.open('food.json', 'wb', encoding='utf-8')

for tr in trs:

food_dict = {}

tds = tr.find_all('td')

name = tds[0].get_text()

price = tds[1].get_text()

address = tds[3].get_text()

time = tds[4].get_text()

food_dict['name'] = name

food_dict['price'] = price

food_dict['address'] = address

food_dict['time'] = time

food_list.append(food_dict)

fb.write(json.dumps(food_dict, indent=2, ensure_ascii=False) + ',\n')

fb.close()

return food_list

转载于:https://juejin.im/post/5be5757151882517180c29db

你可能感兴趣的文章
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
Apache通过mod_php5支持PHP
查看>>
java学习:jdbc连接示例
查看>>
Silverlight 如何手动打包xap
查看>>
Javascript一些小细节
查看>>
禁用ViewState
查看>>
Android图片压缩(质量压缩和尺寸压缩)
查看>>
nilfs (a continuent snapshot file system) used with PostgreSQL
查看>>
【SICP练习】150 练习4.6
查看>>
HTTP缓存应用
查看>>