Skip to content

insectmk/douban-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

豆瓣爬虫

项目说明

功能

爬取数据后存储到MySQL数据库中,可再次爬取刷新

爬取豆瓣Top250电影数据并展示到网站中

数据展示包括表格图表词云图

页面及功能设计参考Douban_Flask

架构

前端使用BootStrap5、JQuery、Vue3、Element-Plus

后端采用Django、Django Template

数据库采用MySQL

软件版本

  • Python3.13.2
  • Django5.1.6
  • MySQL8.0

页面展示

image-20250211104206291

image-20250211104416642

image-20250211104450561

image-20250211104513225

运行

  1. 数据库配置

    安装MySQL8.0,可以使用以下脚本创建数据库与用户

    -- 创建数据库 douban_crawler,字符集为 utf8mb4
    CREATE DATABASE IF NOT EXISTS douban_crawler CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    -- 创建用户 douban_crawler,密码为 douban_crawler
    CREATE USER 'douban_crawler'@'%' IDENTIFIED BY 'douban_crawler';
    
    -- 授予 douban_crawler 用户对 douban_crawler 数据库的所有权限
    GRANT ALL PRIVILEGES ON douban_crawler.* TO 'douban_crawler'@'%';
    
    -- 刷新权限
    FLUSH PRIVILEGES;

    修改douban_crawler/douban_crawler/settings.py,填入数据库信息

    """
    时区设置
    """
    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'
    
    USE_I18N = True
    
    USE_TZ = True
    
    # 数据库
    DATABASES = {
        # 默认使用MySQL
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'douban_crawler',
            'USER': 'douban_crawler',
            'PASSWORD': 'douban_crawler',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }
  2. 安装依赖:运行以下命令

    pip install -r requirements.txt
  3. 初始化数据库:进入到douban_crawle目录,执行以下命令

    python manage.py migrate
  4. 启用项目:进入到douban_crawle目录,执行以下命令

    python manage.py runserver

其他

403问题

豆瓣网站会检测爬虫,如果被检测了会报错403,需要在请求头配置上cookie信息,编辑douban_crawler/main/config.py

# 爬虫请求头
CRAWLER_HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36",
    "Cookie": '''你的cookie信息'''
}

cookie信息获取:登录豆瓣后,在浏览器控制台查看:

image-20250211112636547

pip

# 生成requirements.txt
pip freeze >requirements.txt
# 下载依赖
pip install -r requirements.txt

参考文档

Douban_Flask:豆瓣电影TOP250数据分析

Python数据爬取超详细讲解(零基础入门,老年人都看的懂)

python轻松入门——爬取豆瓣Top250时出现403报错(418报错,爬虫)

如何管理静态文件(如图片、JavaScript、CSS)

djiango官方文档

手把手教你使用Django如何连接Mysql

BooStrap5官方文档

Echarts图表

Django 内置模板标签和过滤器

Vue3官方文档

Element-Plus官方文档

About

豆瓣电影Top250爬虫及数据展示

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors