Python经典案例爬取豆瓣Top250电影数据

 

 随着网络数据的日益丰富,如何从海量的信息中快速、准确地提取出有价值的数据,成为了许多开发者和技术爱好者关注的焦点。在这个过程中,网络爬虫技术凭借其强大的数据获取能力,成为了数据分析和挖掘的重要工具。本文将通过一个经典案例——使用Python爬取豆瓣Top250电影数据,来介绍网络爬虫的基本原理和实际操作方法。豆瓣电影作为国内知名的电影评分和评论平台,其Top250榜单汇聚了众多经典影片。通过爬取这些数据,我们可以对电影市场进行更深入的分析。本文将实现豆瓣Top250电影数据的简单爬取。

import random
import time
import requests
from lxml import etree
import pandas as pd
from fake_useragent import UserAgent

# 生成随机的 User-Agent
ua = UserAgent()

# 存储所有电影信息的列表
all_movies = []

# 循环爬取多页数据
for i in range(0, 250, 25):  # 每页有25部电影,共250部电影
    url = f"https://movie.douban.com/top250?start={i}&filter="
    headers = {"User-Agent": ua.random}  # 随机选择一个 User-Agent
    response = requests.get(url=url, headers=headers)
    html = etree.HTML(response.text)
    rank = html.xpath('//div[@class="pic"]/em/text()')  # 排名
    name = html.xpath('//div[@class="hd"]/a/span[1]/text()')  # 电影名
    score = html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[2]/text()')  # 评分
    people = html.xpath('//div[@class="star"]/span[4]/text()')  # 评分人数
    tu = list(zip(rank, name, score, people))
    all_movies.extend(tu)
    time.sleep(random.uniform(1, 2))  # 1-2秒再进行一次循环

df = pd.DataFrame(all_movies, columns=['排名', '电影名', '评分', '评分人数'])

print(df)

# 输出表格
df.to_excel('top250_movies.xlsx', index=False)

相关推荐

  1. 案例豆瓣电影 Top250数据

    2024-05-12 09:26:06       26 阅读
  2. python scrapy 豆瓣电影top250教程2

    2024-05-12 09:26:06       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 09:26:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 09:26:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 09:26:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 09:26:06       18 阅读

热门阅读

  1. 介绍 TensorFlow 的基本概念和使用场景

    2024-05-12 09:26:06       9 阅读
  2. 井字棋(免费版)

    2024-05-12 09:26:06       9 阅读
  3. 【socket】 linux C++ socket 优化参数

    2024-05-12 09:26:06       7 阅读
  4. Jtti:怎么检测香港服务器的响应速度?

    2024-05-12 09:26:06       11 阅读
  5. 服务器硬件命令查看

    2024-05-12 09:26:06       9 阅读
  6. k8s部署针对外部服务器的prometheus服务

    2024-05-12 09:26:06       9 阅读
  7. LeetCode 题目 118:杨辉三角

    2024-05-12 09:26:06       10 阅读