python爬虫实战:抓取豆瓣电影 Top250数据

1.1 分析网页结构

        首先,打开豆瓣电影 Top250 页面,并通过浏览器的开发者工具(F12)观察网页的结构。每部电影的标题和评分位于特定的 HTML 标签内,可以通过这些标签来提取数据。

1.2 编写爬虫
import requests
from bs4 import BeautifulSoup

def get_movies(url):
    headers = {'User-Agent': 'Mozilla/5.0'}
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'lxml')
    
    movies = []
    
    for item in soup.find_all('div', class_='item'):
        title = item.find('span', class_='title').text
        rating = item.find('span', class_='rating_num').text
        movies.append({'title': title, 'rating': rating})
    
    return movies

url = 'https://movie.douban.com/top250'
movies = get_movies(url)

# 输出爬取的电影信息
for movie in movies:
    print(movie)
1.3 结果展示

        通过该爬虫可以成功抓取豆瓣电影 Top250 页面的电影标题和评分信息。

         该段代码只能抓取一页的数据,如果你想抓取整个 Top250 列表,就需要处理分页问题。豆瓣 Top250 分为 10 页,每页显示 25 部电影,所以你需要遍历多个页面,逐页抓取数据。

如何处理分页

        通过分析 URL 发现,豆瓣的分页信息通过 URL 的 start 参数控制。例如:

  • 第一页的 URL 是:https://movie.douban.com/top250?start=0
  • 第二页的 URL 是:https://movie.douban.com/top250?start=25
  • 第三页的 URL 是:https://movie.douban.com/top250?start=50

        每次递增 25 就可以访问到下一页。因此,可以通过一个循环来构建不同的 URL,并抓取多页的数据。

详细文件已上传至资源文件中,可自行下载【免费】爬取豆瓣电影top250数据资源-优快云文库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JH_vision

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值