案例:爬取豆瓣电影 Top250 的数据

本文介绍了一个简单的Python爬虫案例,通过requests库发送HTTP请求,BeautifulSoup解析网页,抓取豆瓣电影Top250的电影名称、评分和评价人数,适合初学者理解和扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个简单的Python爬虫案例,通过发送 HTTP 请求,解析网页内容,提取目标信息,并循环爬取多页数据,最终获得了豆瓣电影 Top250 的电影名称、评分、评价人数等信息。您可以根据这个示例来编写其他爬虫案例,并根据需要对代码进行修改和扩展。

1. 目标:

爬取豆瓣电影 Top250 的电影名称、评分、评价人数等信息。

 2. 实现过程:

2.1 导入必要的库

import requests

from bs4 import BeautifulSoup

2.2 发送 HTTP 请求并解析网页内容

def get_movie_data(url):

    response = requests.get(url)

    soup = BeautifulSoup(response.text, 'html.parser')

    return soup

2.3 提取电影信息

def extract_movie_info(soup):

    movie_list = []

    items = soup.find_all('div', class_='item')

    for item in items:

        title = item.find('span', class_='title').text

        rating = item.find('span', class_='rating_num').text

        votes = item.find('span', class_='inq').text

        movie_list.append({'title': title, 'rating': rating, 'votes': votes})

    return movie_list

2.4 爬取多页数据

def crawl_top250():

    base_url = 'https://movie.douban.com/top250?start={}&filter='

    movie_data = []

    for start in range(0, 250, 25):

        url = base_url.format(start)

        soup = get_movie_data(url)

        movie_data.extend(extract_movie_info(soup))

    return movie_data

 2.5 执行爬虫并输出结果

if __name__ == "__main__":

    top250_movies = crawl_top250()

    for movie in top250_movies:

        print(f"电影:{movie['title']},评分:{movie['rating']},评价人数:{movie['votes']}")

 3. 代码实现讲解:

- 导入必要的库: 使用 `requests` 库发送 HTTP 请求,使用 `BeautifulSoup` 库解析网页内容。

- 发送 HTTP 请求并解析网页内容: `get_movie_data` 函数负责发送 HTTP 请求获取网页内容,并使用 BeautifulSoup 解析网页。

- 提取电影信息: `extract_movie_info` 函数从解析后的网页内容中提取电影的名称、评分、评价人数等信息,并以字典的形式保存。

- 爬取多页数据: `crawl_top250` 函数循环爬取豆瓣电影 Top250 的多个页面,并调用提取信息的函数。

- 执行爬虫并输出结果: 在 `__main__` 部分调用 `crawl_top250` 函数执行爬虫,并打印爬取结果。

这是一个简单的爬虫案例,通过发送 HTTP 请求,解析网页内容,提取目标信息,并循环爬取多页数据,最终获得了豆瓣电影 Top250 的电影名称、评分、评价人数等信息。您可以根据这个示例来编写其他爬虫案例,并根据需要对代码进行修改和扩展。

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值