我的python学习之路-18-veryimportant(福利满满额)
2018-03-17 00:07
543 查看
2018.03.16*******************************Day19******************************************
author:wills
还有一种比较通用的json格式,我就是用这个巴拉美女图片,我的理解都写在注释了
author:wills
今天学了一个我觉得很有用的东西,非常有趣,那就是json格式的数据存储方式。重点当然不是这个,而是利用python进行文件的读与写。标准语法如下
def main(): # 我有一个list列表,我要将它永久的保存下来,该怎么办呢? list1 = [1,2,3,4,5] # 这个list只是存在于代码里,我想在桌面建一个lis.txt的文件来保存它 try: with open('c:/Users/yqx/Desktop/lis.txt', 'w', encoding='utf-8') as fs: # ‘r’是读取数据 #‘a’模式是追加进去文本的字符最后面,若是‘ab’‘wb’‘rb’表示二进制模式 #以‘w’模式 写进去的代码是文本格式,必须是字符串,所有对列表元素 # 遍历列表然后将每个元素转换为str for x in list1: fs.write(str(x)) # 文件打开使用完毕后要及时关闭,不要占用资源 fs.close() except IOError as e: print(e) if __name__ == '__main__':
还有一种比较通用的json格式,我就是用这个巴拉美女图片,我的理解都写在注释了
# 网上的各种数据内容以 .json的格式存储,并下载到本地存储 # json - JavaScript Object Notation import requests # 导入requests模块进行网络访问 import json # 导入json模块,使用json的函数 def main(): # 首先到天行数据网站,获取到json格式数据流,num=10,表示一次获取10条数据 # requests.get('网址')函数进行网络访问,并获取相关数据 get_source = requests.get('http://api.tianapi.com/meinv/?key=这个自己注册然后获取编码(免费的)&num=50') # get_source.text表示这个数据流的读取部分是文本格式,get_source.content表示读取为二进制格式 print(get_source.text) print(get_source.content) mydict = json.loads(get_source.text) # 使用json模块的loads函数将数据下载下来,并赋与一个变量名mydict # mydict数据是以字典形式存储的,我们需要的内容的键是‘newslist‘ # 而‘newslist’的值是一个列表,列表中的元素又是字典 # 遍历‘newslist’键的值列表,找到列表中的字典元素的键为‘picUrl’值 # ‘picUrl’的值就是一个字符串,我们需要的网站地址URL for temdict in mydict['newslist']: pic_url = temdict['picUrl'] print(pic_url) resp = requests.get(pic_url) # 将‘picUrl’键的值str再次进行网络访问,获得所需下载的数据流(即美女图片),并将其写入一个文件中,文件名通过对‘picUrl’的值str取一部分获得 filename = pic_url[pic_url.rfind('/') + 1:] try: with open(filename, 'wb') as fs: fs.write(resp.content) except IOError as e: print(e) finally: fs.close() if __name__ == '__main__': main() >> 这样我就可以一次性,下载50张美女的图片,保存在我想保存的位置,还想要更多,只需要运行运行就OK!5w张都不是问题写个循环就好了(最后去芜存菁,自己慢慢看吧),那个单次五十是因为网站的限制,你开通会员了自然就可以下的更多了。这大概也算是一种爬虫的基础吧!
相关文章推荐
- VERYIMPORTANT我的python学习之路-13知识总结
- Python学习之路18——控制语句,迭代器, 列表解析
- 我的python学习之路---optparse源代码学习
- Python学习--18 进程和线程
- java菜鸟的Python学习之路(1)
- Python学习之路---Python文件I/O
- python学习之路-变量
- 开启python学习之路
- Python学习之路--进程,线程,协程
- Python学习之路——内存管理
- python 包pandas的学习之路(-)
- Python学习之路二开发工具eclipse(Eclipse3.X)插件的详细配置
- python学习之路--multithreading
- Python学习之路---Python日期和时间
- Python学习之路四---面向对象
- Python学习之路8——Python对象2
- python学习之路-13
- 开始Python的学习之路
- Python学习之路(1)
- Python学习之路-初学篇之Python的基本数据类型(一)