爬取豆瓣Top 250电影信息、下载图片、存储到Excel,快来试试吧!

这个博客介绍了如何使用Python爬取豆瓣Top250电影的详细信息,包括电影名称、导演、演员等,并将数据存储到Excel表格中。同时,它还实现了批量下载电影图片并保存到本地。整个过程涉及到requests、BeautifulSoup和openpyxl库的使用。
摘要由CSDN通过智能技术生成

简单的面向对象


主要是

class Movie:

def init(self, rank, name, other_name, directors, actors, year, country, kind, star, persons,

quote, img_url):

self.rank = rank

self.name = name

self.other_name = other_name

self.directors = directors

self.actors = actors

self.year = year

self.country = country

self.kind = kind

self.star = star

self.persons = persons

self.quote = quote

self.img_url = img_url

def str(self) -> str:

return “排名: %s\n电影名: %s\n别名: %s\n导演: %s\n演员: %s\n年份: %s\n国家: %s\n类别: %s\n评分: %s\n评价人数: %s\n评价: %s\n” \

% (self.rank, self.name, self.other_name, self.directors, self.actors, self.year, self.country,

self.kind, self.star, self.persons, self.quote)

def toAttrList(self) -> List:

res = [self.rank, self.name, self.other_name, self.directors, self.actors, self.year, self.country,

self.kind, self.star, self.persons, self.quote]

return res

通过url下载图片


def download_jpg(img_url, img_name=“”):

res = requests.get(img_url, headers=getHeader(),stream=True)

if len(img_name) == 0:

filename = img_url.split(“:”, 1)[1]

filename = filename.replace(“/”, “.”)

else:

filename = img_name

w表示可写, b是字节流

with open(filename, “wb”) as f:

f.write(res.content)

写入Excel


创建表格

wb = openpyxl.Workbook()

创建表格的一个sheet

ws = wb.create_sheet(index=0, title=‘豆瓣电影Top250’)

写入表头

ws.append([“排名”, “电影名”, “别名”, “导演”, “演员”, “年份”, “国家”, “类别”, “评分”, “评价人数”, “评价”])

urls = []

for movie in movies:

将一个 list类型作为表格的一行的写入 excel

ws.append(movie.toAttrList())

保存excel

wb.save(“豆瓣电影Top250统计.xlsx”)

使用os库


使用os获得操作系统的api,就像操作命令行一样。

os.mkdir(“豆瓣电影Top250统计”)

os.chdir(“豆瓣电影Top250统计”)

# 批量下载图片

os.mkdir(“豆瓣电影Top250图片保存”)

os.chdir(“豆瓣电影Top250图片保存”)

爬虫模块


主要运用到 requests、bs4库进行解析网页,提取到我们想要的消息。

源代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值