爬取豆瓣电影top250

爬取 豆瓣电影top250 并保存为 csv 文件

import csv
import requests
from bs4 import BeautifulSoup
import codecs

def get_info(link):
    r = requests.get(url)
    soup = BeautifulSoup(r.text, 'lxml')

    titles = soup.findAll(class_='hd')
    nums = soup.findAll('em')
    scores = soup.findAll(class_='rating_num')

    for num, title, score in zip(nums, titles, scores):
        data.append((num.text, title.find(class_='title').text,  score.text))

    print('Done one page')


if __name__ == '__main__':
    
    urls = ['https://movie.douban.com/top250?start={}&filter='.format(i) for i in range(0 ,226, 25)]

    csvfile = codecs.open('top250.csv', 'w+','utf_8_sig')
    writer = csv.writer(csvfile)

    data = []

    for url in urls:
        get_info(url)

    for i in data:
        writer.writerow(i)
    csvfile.close()

这里直接把所有数据存在 data 内,再一次性写入 csv。
有个问题是直接把 data 当全局变量来用了。
python 中列表是全局变量么,用代码试了下发现好像是,没有查到资料。在函数中加个 global data 也行
运行下试试

爬取豆瓣电影top250_第1张图片

就简单的爬取了下,其他内容也是一样的。

你可能感兴趣的:(爬取豆瓣电影top250)