python爬虫豆瓣top250

注意

1,BeautifulSoup lxml解析器安装

2,代码缩进格式

复制代码
f.close()
python 复制代码
import csv

import requests
from bs4 import BeautifulSoup

# 请求头部
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}


# 解析页面函数
def parse_html(html):
    # soup = BeautifulSoup(html, 'html.parser')
    soup = BeautifulSoup(html, 'lxml')
    movie_list = soup.find('ol', class_='grid_view').find_all('li')
    # print("response movie_list", movie_list)

    for movie in movie_list:
        title = movie.find('div', class_='hd').find('span', class_='title').get_text()
        rating_num = movie.find('div', class_='star').find('span', class_='rating_num').get_text()
        comment_num = movie.find('div', class_='star').find_all('span')[-1].get_text()
        writer.writerow([title, rating_num, comment_num])


# 保存数据函数
def save_data():
    f = open('douban_movie_top250.csv', 'a', newline='', encoding='utf-8-sig')

    global writer
    writer = csv.writer(f)
    writer.writerow(['电影名称', '评分', '评价人数'])
    for i in range(10):
        url = 'https://movie.douban.com/top250?start=' + str(i * 25) + '&filter='
        response = requests.get(url, headers=headers)
        # print("response text", response.text)
        parse_html(response.text)
    f.close()


if __name__ == '__main__':
    save_data()

# 1,BeautifulSoup lxml 解析器安装
# 2,BeautifulSoup 如何引入第三方库 BeautifulSoup lxml,默认是导入的是python内置的解析器
#
# 1. 安装 Python 和 pip
# 确保你已经安装了 Python 和 pip。你可以在终端中运行以下命令来检查是否已安装:
#
# bash
# python3 --version
# pip3 --version
# 如果没有安装 Python 3,可以从 Python 官网 下载并安装 Python 3。通常,安装 Python 后 pip 会自动安装。
#
# 2. 安装 BeautifulSoup 和 lxml
# 安装 beautifulsoup4
# BeautifulSoup 是一个用于解析 HTML 和 XML 的库,通常与 beautifulsoup4 包一起使用。
#
# 在终端中输入以下命令来安装 beautifulsoup4:
#
# bash
# pip3 install beautifulsoup4
相关推荐
星空椰3 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
白露与泡影4 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特4 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
风之所往_4 小时前
Python 3.4 新特性全面总结
python
雪度娃娃4 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
太阳上的雨天5 小时前
任何格式的文件转Markdown
python·ai
yaoxin5211235 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
跨境数据猎手5 小时前
Superbuy淘宝代购集运系统架构拆解,复刻方案参考
爬虫·架构·系统架构
喵星人工作室5 小时前
C++火影忍者1.1.2
开发语言·c++
weixin_468466855 小时前
纳米 AI 搜索新手极速上手指南
人工智能·python·深度学习·搜索引擎·ai·语言模型·自然语言处理