爬取豆瓣音乐写入Excel
from urllib.request import Request, urlopen
import bs4
import requests
import re
import json
import xlwt
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('1')
worksheet.write(0, 0, label='序号')
worksheet.write(0, 1, label='歌名')
worksheet.write(0, 2, label='歌手')
worksheet.write(0, 3, label='发布日期')
worksheet.write(0, 4, label='类型')
worksheet.write(0, 5, label='评分')
z = 1
for x in range(0,250,25):
url=('https://music.douban.com/top250?start='+str(x))
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
ret = Request(url=url, headers=header)
html = urlopen(ret)
bs = bs4.BeautifulSoup(html, 'html.parser')
allinfos = bs.find_all('div', {"class": "pl2"})
print(allinfos)
for i in allinfos:
title=i.find('a').get_text()
leixing=i.find('p').get_text().split('/')
star = i.find("span", {"class": "rating_nums"}).get_text()
singer=leixing[0]
time=leixing[1]
style=leixing[2]
music_style=leixing[-1]
worksheet.write(z, 0, z)
worksheet.write(z, 1, title)
worksheet.write(z, 2, singer)
worksheet.write(z, 3, time)
worksheet.write(z, 4, music_style)
worksheet.write(z, 5, str(star))
z += 1
workbook.save('dbyy.xls')