Python 爬虫:抓取豆瓣top250电影数据

Python 爬虫:抓取豆瓣top250电影数据,第1张

Python 爬虫:抓取豆瓣top250电影数据

接到项目需求为爬取豆瓣top250电影数据,主要包含以下四个字段信息:‘电影名称’,‘上映年份’,‘豆瓣评分’,‘点评人数’
本文通过re正则对豆瓣网页数据进行解析提取

import requests
import re
import pandas as pd

df = pd.Dataframe(columns=['电影名称','上映年份','豆瓣评分','点评人数'])   #创建表头

#创建空列表用于存放数据
movie_name =[]
first_year =[]
douban_score =[]
rate_peop = []

#UA伪装
headers = {"User-Agent":
               "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"}

#找到分页规律:一页25条电影记录,一共10页,正好250条
for page in range(0,251,25):

    #url不要写死,便于分页抓取数据
    url =f'https://movie.douban.com/top250?start={page}'

    resp = requests.get(url=url,headers=headers).text     #获取网页信息

    #爬取电影名称数据
    obj = re.compile('
  • .*?(?P.*?)' '.*?

    .*?
    (?P.*?) ' '.*?(?P.*?)' '.*?(?P.*?)人评价',re.S) content = obj.finditer(resp) for i in content: #print(i.group("name"),end=" ") #print(i.group("year").strip(),end=" ") #print(i.group("score"),end=" ") #print(i.group("pop")) dic = i.groupdict() dic['year'] = dic['year'].strip() #从网页提取出来会有很多空格,此处需要删除空格 #将每抓取的一笔数据都写入的列表里 movie_name.append(dic['name']) first_year.append(dic['year']) douban_score.append(dic['score']) rate_peop.append(dic['pop']) #将前面创建的df中加载数据 df = pd.Dataframe({'电影名称':movie_name,'上映年份':first_year,'豆瓣评分':douban_score,'点评人数':rate_peop}) #将df中的数据写入到csv中 df.to_csv(".豆瓣电影top250清单")

  • 最后打开刚刚写入的csv文件里,包含里爬取出来的数据。
    项目结束,完结撒花✿✿ヽ(°▽°)ノ✿

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zaji/5579538.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-12-14
    下一篇 2022-12-14

    发表评论

    登录后才能评论

    评论列表(0条)

    保存