python处理csv文件案例_Python CSV文件模块的使用案例分析

本文展示了一个Python爬虫案例,通过解析猫眼电影网站获取Top10电影信息,并将数据存储到CSV文件中。代码详细解释了如何使用requests库进行网页请求,正则表达式抓取数据,以及csv模块写入数据到文件。
摘要由CSDN通过智能技术生成

(.* ?)

.?class="releasetime">(.?)',re.S

练习:爬取猫王top10信息

from urllib import request

import re

import time

import csv

class 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('

.*?title="(.*?)".*?class="star">(.*?).*?class="releasetime">(.*?)',re.S)

#p=re.compile('

.*?title="(.*?)".*?class="star">(.* ?).*?class="releasetime">(.*?)',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))

运行截图:

fc9ea0dd6e1731f772c232372474370c.png

希望本文所述对大家Python程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值