快捷搜索:  汽车  科技

python爬虫之深度解析(盘点一个Python网络爬虫实战问题)

python爬虫之深度解析(盘点一个Python网络爬虫实战问题)2)CSV文件存储# !/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :test.py # @Time :2021/9/19 21:34 # @Author :Cat import random xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王' '冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨' '朱' '秦' '尤' '许' '何&

作者:Python进阶者

来源:Python爬虫与数据挖掘

前言

前几天一道关于大学生Python题目的问题,如下图所示。

python爬虫之深度解析(盘点一个Python网络爬虫实战问题)(1)

初步一看,还是觉得有点难的,对于刚学完基础的小伙伴来说,这个小项目还是有点难度,这个题目主要考察的是random库、列表、字典、open文件操作等基础操作,运用实际生活中的例子,确实是一个练手的好题目。

一、思路

其实问题的关键点就是在于构造姓名,学号和成绩,之后以字典的形式进行写入文件。这里准备两个列表,一个姓,一个名,之后使用random库进行随机字符串拼接,得到姓名。

二、解决方法

1)TXT文件存储

直接上代码,如下所示:

# !/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :test.py # @Time :2021/9/19 21:34 # @Author :Cat import random xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王' '冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨' '朱' '秦' '尤' '许' '何' '吕' '施' '张' '孔' '曹' '严' '华' '金' '魏' '陶' '姜' '戚' '谢' '邹' '喻' '柏' '水' '窦' '章' '云' '苏' '潘' '葛' '奚' '范' '彭' '郎' '鲁' '韦' '昌' '马' '苗' '凤' '花' '方' '俞' '任' '袁' '柳' '酆' '鲍' '史' '唐' '费' '廉' '岑' '薛' '雷' '贺' '倪' '汤' '滕' '殷' '罗' '毕' '郝' '邬' '安' '常' '乐' '于' '时' '傅' '皮' '卞' '齐' '康' '伍' '余' '元' '卜' '顾' '孟' '平' '黄' '和' '穆' '萧' '尹' '姚' '邵' '湛' '汪' '祁' '毛' '禹' '狄' '米' '贝' '明' '臧' '计' '伏' '成' '戴' '谈' '宋' '茅' '庞' '熊' '纪' '舒' '屈' '项' '祝' '董' '梁' ] ming = [ '凡' '佳' '勤' '珍' '贞' '鸿' '焕' '风' '朗' '浩' '亮' '政' '谦' '振' '壮' '伟' '刚' '勇' '毅' '俊' '峰' '强' '军' '平' '保' '东' '文' '辉' '力' '固' '之' '段' '殿' '泰' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '翰' '诚' '博' '先' '敬' '若' '鸣' '朋' '斌' '梁' '栋' '维' '启' '克' '伦' '翔' '旭' '鹏' '泽' '朗' '伯' '彪' '晋' '晟' '诚' '先' '敬' '震' '振' '壮' '会' '思' '群' '豪' '心' '邦' '承' '乐' '宏' '言' '旲' '旻' '昊' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' '彪' '博' '泰' '盛' '振' '挺' '掣' '明' '永' '健' '世' '广' '志' '义' '兴' '良' '海' '山' '仁' '波' '宁' '行' '时' '志' '忠' '思' '绍' '功' '松' '善' '厚' '庆' '磊' '民' '友' '裕' '河' '哲' '江' '超' '炎' '德' '彰' '征' '律' '晨' '辰' '士' '以' '建' '家' '致' '煜' '煊' '炎' '波' '宁' '贵' '福' '生' '龙' '元' '全' '国' '胜' '学' '祥' '才' '发' '武' '新' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' ] with open('students.txt' 'a' encoding='utf-8') as f: for i in range(9): item = {} item['姓名'] = random.choice(xing) random.choice(ming) item['学号'] = str(2020010001 i) item['成绩'] = random.randint(0 100) f.write(str(item)) f.write('\n')

运行之后,得到的结果如下所示:

python爬虫之深度解析(盘点一个Python网络爬虫实战问题)(2)

2)CSV文件存储

代码如下所示:

# !/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :test_csv.py # @Time :2021/9/26 21:01 # @Author :Cat import random import csv headers = ['姓名' '学号' '成绩'] xing = ['赵' '钱' '孙' '李' '周' '吴' '郑' '王' '冯' '陈' '褚' '卫' '蒋' '沈' '韩' '杨' '朱' '秦' '尤' '许' '何' '吕' '施' '张' '孔' '曹' '严' '华' '金' '魏' '陶' '姜' '戚' '谢' '邹' '喻' '柏' '水' '窦' '章' '云' '苏' '潘' '葛' '奚' '范' '彭' '郎' '鲁' '韦' '昌' '马' '苗' '凤' '花' '方' '俞' '任' '袁' '柳' '酆' '鲍' '史' '唐' '费' '廉' '岑' '薛' '雷' '贺' '倪' '汤' '滕' '殷' '罗' '毕' '郝' '邬' '安' '常' '乐' '于' '时' '傅' '皮' '卞' '齐' '康' '伍' '余' '元' '卜' '顾' '孟' '平' '黄' '和' '穆' '萧' '尹' '姚' '邵' '湛' '汪' '祁' '毛' '禹' '狄' '米' '贝' '明' '臧' '计' '伏' '成' '戴' '谈' '宋' '茅' '庞' '熊' '纪' '舒' '屈' '项' '祝' '董' '梁' ] ming = [ '凡' '佳' '勤' '珍' '贞' '鸿' '焕' '风' '朗' '浩' '亮' '政' '谦' '振' '壮' '伟' '刚' '勇' '毅' '俊' '峰' '强' '军' '平' '保' '东' '文' '辉' '力' '固' '之' '段' '殿' '泰' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '翰' '诚' '博' '先' '敬' '若' '鸣' '朋' '斌' '梁' '栋' '维' '启' '克' '伦' '翔' '旭' '鹏' '泽' '朗' '伯' '彪' '晋' '晟' '诚' '先' '敬' '震' '振' '壮' '会' '思' '群' '豪' '心' '邦' '承' '乐' '宏' '言' '旲' '旻' '昊' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' '彪' '博' '泰' '盛' '振' '挺' '掣' '明' '永' '健' '世' '广' '志' '义' '兴' '良' '海' '山' '仁' '波' '宁' '行' '时' '志' '忠' '思' '绍' '功' '松' '善' '厚' '庆' '磊' '民' '友' '裕' '河' '哲' '江' '超' '炎' '德' '彰' '征' '律' '晨' '辰' '士' '以' '建' '家' '致' '煜' '煊' '炎' '波' '宁' '贵' '福' '生' '龙' '元' '全' '国' '胜' '学' '祥' '才' '发' '武' '新' '利' '清' '飞' '彬' '富' '顺' '信' '子' '杰' '涛' '昌' '成' '康' '星' '光' '天' '达' '安' '岩' '中' '茂' '进' '林' '有' '坚' '和' ] with open('students.csv' 'a' encoding='utf-8' newline='') as f: csv_writer = csv.DictWriter(f headers) csv_writer.writeheader() for i in range(9): item = {} item['姓名'] = random.choice(xing) random.choice(ming) item['学号'] = str(2020010001 i) item['成绩'] = random.randint(0 100) csv_writer.writerow(item) 运行之后,得到的结果如下所示:

python爬虫之深度解析(盘点一个Python网络爬虫实战问题)(3)

每次运行程序之后,得到的txt和csv文件中的内容都是随机获取的,完成需求。

三、总结

本文基于粉丝提问,完成了一道Python基础实战题目,主要涉及的知识点是random库、列表、字典、文件读取等知识。这个题目倒不是很难,解题方法肯定还有很多种,还有可以把名字随机变成三个字等。欢迎大家积极尝试,有好方法记得也分享给我学习下噢!

猜您喜欢: