python爬虫top250电影数据

编程入门 行业动态 更新时间:2024-10-27 12:33:03

python<a href=https://www.elefans.com/category/jswz/34/1770264.html style=爬虫top250电影数据"/>

python爬虫top250电影数据

之前看到的,我改了一下,多了很多东西

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
from openpyxl.styles import Font
import redef extract_movie_info(info):# 使用正则表达式提取信息pattern = repile(r'导演: (.*?)\s*主演: (.*?)\s*(\d{4})\s*/\s*(.*?)\s*/\s*(.*)')match = pattern.match(info)if match:director = match.group(1).strip()actors = match.group(2).strip()year = match.group(3).strip()country = match.group(4).strip()genre = match.group(5).strip()return director, actors, year, country, genreelse:return Nonedef douban_top250():url = ''headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.79'}movies = []for start_num in range(0, 250, 25):page_url = f'{url}?start={start_num}'response = requests.get(page_url, headers=headers)soup = BeautifulSoup(response.text, 'html.parser')for movie in soup.select('.item'):title = movie.select_one('.title').text.strip()rating = movie.select_one('.rating_num').text.strip()# 获取导演、主演和其他信息info = movie.select_one('p').text.strip()movie_info = extract_movie_info(info)if movie_info:director, actors, year, country, genre = movie_infomovies.append((title, rating, director, actors, year, country, genre))return moviesdef create_excel(movies):wb = Workbook()ws = wb.activetitle_font = Font(color='FF0000', bold=True)ws.append(['电影名称', '评分', '导演', '主演', '年份', '国家', '类型'])for cell in ws[1]:cell.font = title_fontfor movie in movies:ws.append(movie)wb.save('豆瓣_top250.xlsx')if __name__ == '__main__':movies = douban_top250()create_excel(movies)print('Excel文件已生成。')

更多推荐

python爬虫top250电影数据

本文发布于:2023-11-15 01:28:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591277.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   数据   电影   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!