python爬取豆瓣电影Top250数据

本次爬虫案例使用Python语言编写,使用了requests库进行网页请求,使用了BeautifulSoup库进行网页解析,使用了openpyxl库进行数据的保存。

案例中的爬虫目标是豆瓣电影Top250,通过循环访问不同页面进行数据的爬取。在每个页面上,使用requests库发送GET请求,并设置合适的请求头,以避免被网站屏蔽。然后使用BeautifulSoup库解析返回的HTML响应,提取出需要的电影信息。

电影信息包括电影名称、排名和简介。通过解析HTML结构,使用find方法获取到对应的元素,然后提取出文本内容。提取到的信息存储在一个列表中,然后通过openpyxl库将信息逐行写入Excel文件的工作表中。

最后,使用workbook.save方法将数据保存到名为"douban_movie_top250.xlsx"的Excel文件中。

需要注意的是,在实际爬取数据时,应该遵循网站的robots.txt规范,并避免对网站造成过大的负担。另外,豆瓣电影Top250是一个公开的网页,但对于其他网站,可能需要进行登陆或者处理反爬机制。

以下是一个简单的Python爬虫案例,用于爬取豆瓣电影Top250的数据,并保存到Excel文件中。 

import requests
from bs4 import BeautifulSoup
import openpyxl

# 创建工作簿和工作表
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = 'Top250'

# 爬取数据
url = 'https://movie.douban.com/top250'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

for i in range(10):
    params = {
        'start': i * 25
    }

    response = requests.get(url, headers=headers, params=params)
    soup = BeautifulSoup(response.text, 'html.parser')

    # 解析数据
    movies = soup.find_all('div', class_='info')

    print(movies)

    for movie in movies:
        title = movie.find('span', class_='title').text
        rank = movie.find('a')["href"]
        info = movie.find('div', class_='bd').p.text.strip().split('\n')[0]
        sheet.append([title, rank, info])

# 保存数据到Excel文件
workbook.save('douban_movie_top250.xlsx')
workbook.close()

excle数据预览:

python爬取豆瓣电影Top250数据_第1张图片

关注公众号「码农园区」,获取多个项目源码及各大厂学习面试资源
在这里插入图片描述

你可能感兴趣的:(python,python,开发语言)