import requests,bs4,openpyxl
from openpyxl.styles import Font
header={'User-Agent':找自己浏览器的agent}
n=0
y=2
wb=openpyxl.Workbook()
ws=wb.active
ws.column_dimensions['A'].width=50
ws.column_dimensions['B'].width=10
ws['A1']='电影名称'
ws['B1']='豆瓣评分'
while n<251:#爬虫
res = requests.get('https://movie.douban.com/top250?start=%d&filter='%n, headers=header)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
dx = soup.find_all('div', class_='hd')
df=soup.select('.rating_num')
for i in dx:
ws['A'+str(y)]=i.a.span.text
ws['B'+str(y)]=df[dx.index(i)].text
y+=1
n += 25
n=1
while n<252:#设置单元格格式
ws['A%d'%n].font = Font(name='微软雅黑', size=14)
ws['B%d'%n].font = Font(name='微软雅黑', size=14,bold=True)
n+=1
wb.save('豆瓣top250.xlsx')
执行结果