通过爬虫爬取豆瓣top250电影信息

部署运行你感兴趣的模型镜像

数据是互联网的石油,如何从石油中提取自己想要的部分,爬虫可以很好的帮助我们找到

豆瓣电影 Top 250 (douban.com)

打开豆瓣的top250榜单,按F12 控制台

右侧可看到网页的html源代码,找到电影信息的部分

以肖申克的救赎为例,(这部电影的原作也很棒)

可以看到标签<div item>

<div> 标签定义 HTML 文档中的分割或部分(分区或小节,division/section)。

用  class 来标记 <div>,那么该标签的作用会变得更加有效。通过使用 class  属性,可以轻松地对 <div> 标签设置样式。

import requests
from bs4 import BeautifulSoup
import pandas as pd

#豆瓣电影Top250的url

base_url = 'https://movie.douban.com/top250'
#定义一个函数来获取页面内容
def get_page_content(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text
    else:
        print('请求页面失败:',response.stats_code)
        return None
#定义一个函数解析页面内容
def parse_page_content(html):
    soup = BeautifulSoup(html,'html.parser')
    movie_list = soup.find_all('div',class_='item')
    movies = []
    for movie in movie_list:
        title = movie.find('span',class_='title').get_text()
        rating = movie.find('span',class_='rating_num').get_text()
        director = movie.find('p',class_='').get_text()
        movies.append({'title':title,'rating':rating,'director':director})
    return movies

#定义保存文件函数
def save_to_csv(movies):
    df = pd.DataFrame(movies)
    df.to_csv('douban_top250.csv',index=False,encoding='utf_8_sig')

def main():
    movies = []
    for i in range(0,250,25): #豆瓣电影top250分为10页,每页25部
        url = f'{base_url}?start={i}&filter='
        html = get_page_content(url)
        if html:
            movies.extend(parse_page_content(html))
    save_to_csv(movies)
    print('爬取完成,数据已保存到douban_top250.csv')
#运行主函数
if __name__ == '__main__':
    main()

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值