栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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文件里,包含里爬取出来的数据。
    项目结束,完结撒花✿✿ヽ(°▽°)ノ✿

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/588339.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号