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
相关推荐
----云烟----15 分钟前
QT中QString类的各种使用
开发语言·qt
lsx20240619 分钟前
SQL SELECT 语句:基础与进阶应用
开发语言
小二·21 分钟前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic44 分钟前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it1 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
武子康1 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神1 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
宅小海2 小时前
scala String
大数据·开发语言·scala
小喵要摸鱼2 小时前
Python 神经网络项目常用语法
python
qq_327342732 小时前
Java实现离线身份证号码OCR识别
java·开发语言