爬取豆瓣电影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 也行
运行下试试


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容