豆瓣电影 Top 250,没啥,就是按照豆瓣读书改了css选择的标签 。不过用excel打开csv的时候发现乱码了,昨天用wps打开的,所以没发现乱码。不过改为encoding='utf-8-sig'就可以了,好像是啥BOM的原因。
这个可以优化下导演名,主演名分开。最后那个推荐语的问题,我知道怎么来,但不会写他喵的代码 ,没看过的就不会,任重道远。

import requests
from bs4 import BeautifulSoup
import lxml
import csv

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

fw = open('movie250.csv', 'w', newline='', encoding='utf-8-sig')
writer = csv.writer(fw)
writer.writerow(('电影名','链接','演员','评分'))

urls = ['https://movie.douban.com/top250?start={}&filter='.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.hd a')
    取演员 = bs.find_all('p', class_='')
    取评分 = bs.select('span.rating_num')
    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('写入完成')

电影好啊,想当年看了小几百部陪我度过多少日月 。收工,照葫芦的葫芦画瓢。
I do and I understand.

最后修改:2021 年 07 月 01 日 10 : 54 PM