以下是使用 Python 爬取豆瓣 TOP250 电影的代码:

import requests
from bs4 import BeautifulSoup

url = 'https://movie.douban.com/top250'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

def get_movie_list(url):
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    movie_list = soup.find(class_='grid_view').find_all('li')
    return movie_list

def parse_movie_info(movie):
    rank = movie.find(class_='pic').em.text
    title = movie.find(class_='hd').a.span.text
    info = movie.find(class_='bd').p.text.strip()
    rating = movie.find(class_='rating_num').text
    return {'rank': rank, 'title': title, 'info': info, 'rating': rating}

def print_movie_info(movie_info):
    print('排名:', movie_info['rank'])
    print('片名:', movie_info['title'])
    print('信息:', movie_info['info'])
    print('评分:', movie_info['rating'])
    print('------------------------')

if __name__ == '__main__':
    movie_list = get_movie_list(url)
    for movie in movie_list:
        movie_info = parse_movie_info(movie)
        print_movie_info(movie_info)

在这个代码中,我们首先定义了一个get_movie_list函数来获取电影列表,该函数使用requests库发送HTTP请求,然后使用BeautifulSoup库解析HTML页面,提取出电影列表。接着我们定义了一个parse_movie_info函数,用于解析每一部电影的信息,包括排名、片名、信息和评分。最后,我们使用print_movie_info函数来打印每一部电影的信息。

main函数中,我们首先调用get_movie_list函数获取电影列表,然后使用for循环遍历每一部电影。对于每一部电影,我们调用parse_movie_info函数解析电影信息,并使用print_movie_info函数打印出来。


原文地址: https://www.cveoy.top/t/topic/qo7s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录