You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Django将网络爬虫抓取的内容插入MySQL数据库

Django爬虫数据存入MySQL实现方法

前置准备

首先确认你已经执行了Django模型的迁移命令,确保SomeModel对应的表已经在MySQL中创建完成:

python manage.py makemigrations
python manage.py migrate

步骤1:在爬虫文件中初始化Django环境

因为你的爬虫是单独的文件,要调用Django ORM需要先加载项目配置,在爬虫代码最开头添加如下代码:

import os
import django
# 替换为你自己的Django项目settings路径,格式是「项目名.settings」
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project_name.settings')
django.setup()
# 导入你定义的模型,替换为实际的app名称
from 你的app名.models import SomeModel

步骤2:修改爬虫逻辑插入数据

处理爬取到的p标签内容,调用ORM方法存入数据库,有两种常用实现方式:

单条插入(适合数据量小的场景)

在你现有爬虫代码的find_by_class之后添加:

for p in find_by_class:
    # 获取p标签的纯文本内容,也可根据需求保留标签结构
    content = p.get_text(strip=True)
    # 过滤空内容避免存入无效数据
    if content:
        SomeModel.objects.create(description=content)

批量插入(适合数据量大的场景,性能更高)

insert_list = []
for p in find_by_class:
    content = p.get_text(strip=True)
    if content:
        insert_list.append(SomeModel(description=content))
# 一次提交所有数据
SomeModel.objects.bulk_create(insert_list)

注意事项

  • 替换代码中的your_project_name为你实际的Django项目名称,你的app名为定义SomeModel的app名称
  • 如果爬取的内容长度超过TextField设置的1000字符限制,可以适当调大max_length参数,或者直接去掉max_length限制(MySQL的text类型默认支持最多65535字符)
  • 运行爬虫时直接执行爬虫文件即可,不需要通过Django启动服务运行。

内容的提问来源于stack exchange,提问作者Kyogi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:45:07