Python CSV文件模块的使用案例分析
Python  /  管理员 发布于 7年前   188
本文实例讲述了Python CSV文件模块的使用。分享给大家供大家参考,具体如下:
1、CSV模块使用流程
1、导入模块
impport CSV
2、打开文件(xxx.csv)
with open('xxx.csv','a',encoding='utf-8') as f:
a 追加写
a+ 追加写读(先写后读)
r 只读
r+读写,先读后写
w 只写
w+写读 先写后读
3、初始化写入对象
writer = csv.wirter()
4、写入数据
writer.writerow(['孙悟空', '兰陵王'])
案例:
猫眼电影top10榜单的爬取
1、网址:url
2、目标:爬取自己想要的文件
3、保存本地:csv文件
4、步骤
第一页:https://maoyan.com/board/4?offset=0
第4页:https://maoyan.com/board/4?offset=30
第n页:offset=(n-1)*10
'<div class="movie-item-info".*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S
练习:爬取猫王top10信息
from urllib import requestimport reimport timeimport csvclass MaoyanSpider(object): def __init__(self): self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"} self.page = 1 # 用来计数 def get_page(self, url): req = request.Request(url, headers=self.headers) res = request.urlopen(req) html = res.read().decode('utf-8') # 直接调用解析函数 self.parse_page(html) def parse_page(self,html): p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>',re.S) #p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S) r_list = p.findall(html) # 直接调用保存函数 # r_list:[('霸王别姬','张国荣','1993'),(),()] self.write_csv(r_list) # 保存数据函数 def write_csv(self,r_list): with open('猫眼电影top10.csv','a') as f: writer = csv.writer(f) # 依次写入每个电影信息 for r_t in r_list: film = [ r_t[0].strip(), r_t[1].strip(), r_t[2].strip() ] writer.writerow(film) #主函数 def work_om(self): for pn in range(0,41,10): url = 'https://maoyan.com/board/4?offset=%s'%str(pn) self.get_page(url) print('第%d页爬取成功'%self.page) self.page += 1 time.sleep(4)if __name__ =='__main__': begin = time.time() spider = MaoyanSpider() spider.work_om() end = time.time() print("执行时间%.2f"%(end - begin))
运行截图:
更多Python相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号