这个有问题,只获取到了247条结果后面都乱了,下班再改一下。话说这几个都没甚区别,为什么要再发一遍呢,当然是为了手敲加深印象! ,其实是复制的,改的最多的还是中文变量,逼格没了。

import requests
from bs4 import BeautifulSoup
import lxml
import csv

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) \
    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114\
     Safari/537.36 Edg/91.0.864.59'
}

f = open('movie250.csv', 'w', newline='', encoding='utf-8')
writer = csv.writer(f)
writer.writerow(('音乐名', '链接', '歌手', '评分'))

urls = ['https://music.douban.com/top250?start={}'.format(i) for i in range(0, 250, 25)]
for url in urls:
    print(f'爬取链接:{url}')
    r = requests.get(url, headers=headers)
    bs = BeautifulSoup(r.text, 'lxml')
    取音乐名 = bs.select('div.pl2 a')
    取歌手 = bs.select('p.pl')
    取评分 = bs.select('span.rating_nums')

    for i, j, k in zip(取音乐名, 取歌手, 取评分):
        音乐名结果, 歌手结果, 评分结果 = \
            i.get_text('', strip=True),\
            j.get_text('', strip=True),\
            k.get_text('', strip=True)
        链接 = i['href']

        writer.writerow((音乐名结果, 链接, 歌手结果, 评分结果))
print('写入完成')

respect 葫芦

最后修改:2021 年 07 月 02 日 01 : 16 PM