豆瓣爬取250部电影保存到excel

如何爬取豆瓣评分前250部的电影,我们可以使用Python来快速的实现,爬取其实就是发起网络请求,而利用程序发起可以更加方便快捷,不用频繁地进行点击,只需要我们把要爬取的数据之间相同的规律总结处理,利用这个规律解析出数据即可。
爬取的网站地址:

https://movie.douban.com/top250?start=0&filter=

进入网页后右键选择检查页面
在这里插入图片描述
通过上面的方法定位电影,能看出每部电影都在一个<li>标签中,而这些<li>标签都在一个class_='grid_view'的标签中,所以只需要遍历出250个<li>标签并且将的<li>标签中我们想要的元素提取出来即可。
下面通过代码来进行详细讲解:
若导入包失败,请先通过pip install xxx安装

import requests
from bs4 import BeautifulSoup
import xlwt


def request_douban(url):
    headers = {
   
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/88.0.4324.146 Safari/537.36',
    }

    try:
        # 使用get请求获取数据,加上请求头伪装成浏览器发起的请求尽量避免被网站反爬机制识别
        response = requests.get(url=url, headers=headers)
        # 当请求响应码为200表示请求成功,返回请求页面文本
        if response.status_code == 200:
            return response.text
    except requests.RequestException:
        return None

# 创建excel工作本
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 创建工作表及标题行</
爬取豆瓣电影Top250的推荐语并将其保存Excel文件通常需要几个步骤,这涉及到网络爬虫技术以及数据处理。以下是简要过程: 1. **获取数据**: - 首先,你需要使用Python的库,如`requests`库来发送HTTP请求到豆瓣电影的API接口,该接口可能包含前250电影的信息,包括影评等数据。 - 可能需要注册并获取一个豆瓣的开发者API key来进行访问。 2. **解析数据**: - 使用如`BeautifulSoup`或`lxml`这样的HTML解析库,从返回的网页源码中提取出推荐语信息。因为豆瓣可能会使用JavaScript动态加载数据,静态抓取可能无法获取所有内容,所以可能需要结合Selenium等工具进行页面渲染。 3. **数据清洗**: - 电影名、评分、导演、演员等基本信息以及每条电影的第一条推荐语需要从HTML中抽取出来,并进行必要的清理工作,比如去除无用字符、换行符等。 4. **保存Excel**: - 使用pandas库将提取的数据结构化,然后写入Excel文件。你可以创建一个DataFrame存储所有数据,每一列对应一个字段,最后一列可能是推荐语。 ```python import requests from bs4 import BeautifulSoup import pandas as pd # ... (这里编写代码来获取数据) # 创建空的DataFrame data = { '电影名称': [], '导演': [], '主演': [], '评分': [], '推荐语': [] # 这里假设我们只抓取第一条推荐语 } for movie in movies_data: # 提取所需信息 name, director, actors, rating, review = extract_info(movie) data['电影名称'].append(name) data['导演'].append(director) data['主演'].append(actors) data['评分'].append(rating) data['推荐语'].append(review) df = pd.DataFrame(data) df.to_excel('豆瓣Top250电影推荐语.xlsx', index=False) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值