爬虫数据应用场景之Django建站

简单的爬虫制作——学Django 整个Django project要实现的目的,是在Python 百度百科这个网页中将所有的链接关键词抓取下来,并将它们的简介、网址通过一个网页显示出来。首先,我们先上到这个网站,使用F12 开发者工具查看网页元素,并结合网页源代码,可以发现百度百科网页组成的规律,如整个文字简介在这个层 class=”lemma-summary” 链接关键词前有target=_blank href=”/item/ 阅读详情
点击上方“AI派”,选择“设为星标”
最新分享,第一时间送达!


Tango,目前就职在一家对日开发的的IT服务公司。不是科班出身的我,出于对编程的热爱,自学了软件开发。从此深深陷入在代码的世界而无法自拔。
编辑:王老湿

我们的专栏发布后,目前已经更新了 12 篇:

前面所有的文章都是在介绍我们如何获取数据,当我们有了数据之后,我们可以做些什么事情呢?

  • 可以用获取到的图片做机器学习的训练数据

  • 可以用获取的商品,招聘等信息做数据分析,看看什么卖的好,什么职位工资高。

  • 可以用获取到的数据搭建自己的网站。比如各种搜索网站。

关于机器学习,数据分析大家可以查看一下我们这些专栏:

今天,就带着大家一起看看如何用Django快速搭建一个前后台齐全的网站。

搭建环境

  • 在工作目录下创建一个Pyweb的文件夹,用来保存代码。当然,这个目录的名字你可以任意取,但不要有中文和特殊符号。

  • 在Pyweb文件夹下面创建一个env的文件夹,这个文件夹就是虚拟机的名,通过如下命令创建虚拟机。

    cd env
    python -m venv .
    

注意venv和 . 之间有一个空格。

这里演示的是在Windows系统下的创建方式,其他操作系统大家自行搜索一下。ls可以换成dir

640?wx_fmt=png
  • 激活虚拟环境

    Scripts\activate
    

    640?wx_fmt=png

    激活成功后,会看到在命令行前面会多出一些内容。

输入deactivate可以退出虚拟环境。

  • 安装Django库

    在虚拟环境下输入如下命令,安装Django框架

    pip install django
    

    如果速度慢的话,可以换成国内的源

    pip install django -i https://pypi.mirrors.ustc.edu.cn/simple/
    

    640?wx_fmt=png

这样环境就创建好了,接下来创建我们的网站。下面的所有操作都是在虚拟机内完成的。

创建网站

  • 为了方便代码管理,回到Pyweb目录下,通过如下命令来创建一个叫做mysite的DJnago网站。

    django-admin startproject mysite
    

    640?wx_fmt=png

可以看到会自动生成一个mysite的目录,里面的目录结构如下:

640?wx_fmt=png
  • 工程创建好后,再创建一个应用movie:

    python manage.py startapp movie
    

    创建成功后的目录结构如下:

    640?wx_fmt=png
  • 应用创建好之后我们要将它添加到这个工程之中,修改settings.py文件

    INSTALLED_APPS = [
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'movie', # 新加的应用
    ]
    
  • 应用添加好之后,还要为这个应用创建一个数据库表,用来保存爬取或者要展示的内容。修改movie目录下的models.py

    from django.db import models
    
    # Create your models here.
    class Movie(models.Model):
      name = models.CharField(max_length=50, verbose_name='电影名')
      url = models.URLField(verbose_name='电影路径', max_length=200)
      desc = models.TextField(verbose_name='电影描述')
    
      def __str__(self):
          return self.name
    
      class Meta:
          verbose_name = '电影信息'
          verbose_name_plural = '电影信息'
    

    为这个应该添加了3个字段,并且定义了它在后台的名称为“电影信息”

  • 将这个应用添加到后台,方便之后的管理。修改admin.py

    from django.contrib import admin
    from .models import Movie
    
    # Register your models here.
    admin.site.register(Movie)
    

    完成这些后,还差最后一步,创建数据库和管理员信息。

    同步数据

     python manage.py makemigrations
    

    640?wx_fmt=png


    python manage.py migrate
    

    640?wx_fmt=png

    发现除了我们定义的应用的表,还有很多其他的,这些都是Djnago框架自带的表。暂时不用太在意。

  • 创建管理员账号

     python manage.py createsuperuser
    

    640?wx_fmt=png

    这里输入完命令后,按照提示一步一步的输入就好。

  • 启动网站

    python manage.py runserver
    

    640?wx_fmt=png

    启动成功后,在浏览器中输入红框中的网址,将看到如下画面。表示这个网站已经创建成功了。

    640?wx_fmt=png

我们进入后台看看,在url后面输入/admin看到如下画面:

640?wx_fmt=png

输入我们刚才创建好的管理员用户和密码:

640?wx_fmt=png

可以看到这个应用出现在了后台,可以点击右边的add来添加几条数据。

640?wx_fmt=png
640?wx_fmt=png

我这里是手动填写的,大家可以通过爬虫获取到数据,自动添加数据。另外这里用的是sqlite数据库。关于这个数据库,大家可以上网查一下用法。不明白的地方欢迎大家进群讨论。

现在数据有了,该如何显示呢?

显示数据

  • 创建用于显示数据的模板

    创建一个templates的文件夹,用来保存html模板,创建好的目录结构:

    640?wx_fmt=png

创建好了文件夹,要将它添加到工程中,并告诉程序这个是保存页面模板的,修改settings.py文件:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # 修改的地方
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
  • 创建业务逻辑,修改movie文件夹下的views.py文件

    from django.shortcuts import render
    from .models import Movie
    
    # Create your views here.
    def Index(request):
      movie_list = Movie.objects.all() # 查询所有数据
      return render(request, 'index.html', {'movie_list':movie_list})
    

    index.html是稍后要创建的html文件,用来显示数据的。

    {'movie_list':movie_list}是告诉页面都显示什么数据,这里将获取到的所有电影信息都显示在页面上。

  • 告诉项目,我们访问什么路径,来显示电影信息,修改和settings.py同级目录下的urls.py文件

    from django.contrib import admin
    from django.urls import path
    from movie.views import Index
    
    urlpatterns = [
      path('admin/', admin.site.urls),
      path('info/', Index, name='info'),
    ]
    
  • 在templates文件夹下创建html文件

    <html>
      <head>
          <title>电影信息</title>
      </head>
      <body>
          <ul>
              {% for movie in movie_list %}
                  <li>
                      <a href="{{movie.url}}" target="blank">{{movie.name}}</a>
                  </li>
              {% endfor %}
          </ul>
      </body>
    </html>
    

    这里的{%%}等内容是Django的模板语言,大家可以看看官方文档,这里就不详细说明了。

    访问:http://127.0.0.1:8000/info/

    640?wx_fmt=png

这样我们的信息就显示在了页面上了。

我们这里只是简单的介绍了一下Django框架的入门用法,如果大家要深入学习的话,可以买一些书来看。或者关注公众号,后续可能会有相关的内容哦。如果有什么疑问,欢迎大家来群里讨论。

最后的话

感谢大家对本专栏的支持,这是我第一次写专栏内容,有很多不足的方法希望大家见谅。同时也正是因为大家的支持,才能使我坚持把这个专栏完成。

我们的专栏目的是让大家对爬虫有个初步的认识。如果想真正在公司或面试中做到出类拔萃,还需要大家多多练习,同时也希望大家持续关注我们,后续我们还会推出更有意思,更有价值的内容。我们不见不散。

好了,这期的内容就是这些,欢迎大家进学习群讨论。学习群加入方式:扫描下方的微信二维码,添加微信好友,之后统一邀请你加入学习群。添加好友时一定要备注:爬虫。 

640?wx_fmt=png

?长按识别,添加王老湿微信

(完)





640?wx_fmt=jpeg

?关注“Python与人工智能社区”


王老湿目前建立了Python、爬虫、数据分析、机器学习、AI实战、自然语言处理、计算机视觉、推荐系统等方向的读者交流群,大家可以添加王老湿的微信进行加群

640?wx_fmt=png
?长按识别,添加王老湿微信



近期专栏推荐 (点击下方标题即可跳转)


1. 

2. 

3. 

4. 


点下「在看」,给文章盖个戳吧!?

爬虫学习 | Django入门篇 python3.11 Django4.1 阅读详情

相关推荐

Java、Python、PHP、C++,这个主流语言应该排序,如果都要学习得话,排个前后顺序。如果要同时学习得话,如何学习?

文章摘要:本文提出多语言学习的高效策略,建议从Python入门(语法简洁、生态丰富),逐步进阶到Java(企业级应用)、PHP(Web开发)和C++(系统级开发)。推荐分阶段主攻+交叉实践,采用项目驱动学习法(如Python自动化脚本→Java微服务→C++游戏引擎),并注重知识迁移(面向对象、设计模式等)。同时强调工具链整合和实战优先,避免过早深入高级特性。学习路径可根据目标调整,全栈开发推荐Python→Java→PHP→C++,系统开发则优先C++。核心是通过实际项目转化语言知识为解决问题的能力。(1

Program Han 1057

Django用来作为爬虫框架浅谈

首先该框架采用了分布式路由管理机制,其次自带数据库管理后台十分强大 那么分布式路由管理机制 可以实现高并发的爬虫 同时也可以远程监控爬虫的运行情况 只要你的电脑上有浏览器 还可以查看数据库且摆脱l传统的终端操作和自主开发的管理系统可以实现多平台搭建爬虫 且可以实现多版本并存,只要反问地址不同就可驱动不同的版本程序完全可以实现版本控制的目的,且做到了运行与存储备份一体统一的目的使用django不仅可...

东方佑 16万+

Django中使用scrapy爬虫并存入数据库

创建django项目,并编写models.py,并进行数据迁移 生成迁移文件 python manage.py makemigrations 数据迁移 python manage.py migrate 配置Django嵌入 安装包 pip install scrapy-djangoitem Django项目根目录下创建Scrapy项目(这是scrapy-djangoitem所需要的配...

firstday_willow的博客 1724

[爬虫]1.1.3 网络爬虫的应用场景

网络爬虫在各种不同的领域都有广泛的应用。它们可以用来收集,分析,处理和理解大量的在线信息。

Andy0214的专栏 7389

解析仿腾讯WAP源码:从技术栈拆解到安全部署与二次开发指南

在Web开发领域,内容管理系统(CMS)是构建动态网站的核心技术框架,它通过将内容、逻辑与表现层分离,实现了高效的信息发布与管理。其工作原理通常基于MVC架构,后端处理业务逻辑与数据存储,前端负责用户交互与内容呈现。这种架构的价值在于提升了开发效率、降低了维护成本,并支持快速迭代。在移动互联网时代,响应式设计与移动端H5门户成为重要应用场景,它们要求CMS能够适配多端并提供良好的用户体验。本文聚焦于一个具体案例——基于PHP+MySQL技术栈的移动端门户解决方案,深入探讨其前端高仿实现、后端安全加固及性能优

weixin_29011993的博客 267

MAX30102传感器实战:从寄存器配置到Arduino心率血氧监测

本文详细介绍了MAX30102传感器在Arduino平台上的实战应用,从寄存器配置到心率血氧监测的全过程。通过清晰的代码示例和实用技巧,帮助开发者快速实现脉搏血氧仪功能,包括I2C通信、FIFO数据处理及算法实现,适用于健康监测和可穿戴设备开发。

weixin_29182481的博客 511

使用Django开发爬虫系统

爬虫系统用于从互联网上收集信息,常用于数据分析、搜索引擎等领域。我们选择使用Django作为开发框架,因为它提供了强大的数据库管理和Web开发功能,能够帮助我们快速搭建一个稳健的爬虫系统。在models.py。

FLK_9090的博客 2448

从厘米级到公里级:北斗网格10级精度在ArcPro中的完整应用指南

本文提供了北斗网格十级精度体系在ArcGIS Pro中的完整应用指南。详细解析了从660公里到1.5厘米的十级网格尺度及其编码逻辑,并重点演示了如何在ArcPro中生成网格、计算编码,以及根据项目需求(如滑坡监测)选择合适精度层级的实战策略。指南旨在帮助GIS专业人士利用这套统一的网格框架,高效管理多尺度空间数据并优化分析工作流。

Black的专栏 472

分享261个Python源码源代码总有一个是你想要的

分享261个Python源码源代码总有一个是你想要的

zy0412326的专栏 2420

19-5 ACC 自适应巡航控制系统需求

本专题由深圳季连AIgraphX李博及团队出品,主要讲解ACC自适应巡航控制系统的开发与仿真测试。具体说来,包括ACC标准/法规分析、系统需求、系统架构、软件需求、软件架构、算法建模、验证场景分析、仿真实验搭建等内容。 本节主要讲ACC系统需求。

AIgraphX 1090

CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装

本文详细介绍了如何确定显卡支持的CUDA版本、选择对应的cuDNN版本,并逐步安装CUDA、cuDNN和PyTorch。首先,通过命令行输入nvidia-smi.exe查看显卡支持的CUDA版本。接着,根据CUDA版本选择对应的cuDNN版本并下载。然后,从NVIDIA官方网站下载CUDA安装包,按照提示进行安装,并检查是否安装成功。同样地,下载cuDNN安装包,解压后将文件拷贝到CUDA安装目录中,并通过命令行验证安装是否成功。最后,根据PyTorch官网的指引,选择合适的安装命令进行PyTorch的安装

2501_90350274的博客 5098

python建站部署_在知乎上学 Python - Web 开发篇

之前,我们先后整理过3期知乎上有关 Python 学习的优质问答和文章索引,以方便大家更好地挖掘及使用知乎上有价值的信息。参见:在知乎上学 Python - 入门篇在知乎上学 Python - 爬虫篇在知乎上学 Python - 数据分析篇本文是这个系列的第4篇,分享一下有关 用 Python 进行 Web 开发 的优质内容。Web 开发是 Python 一个很主要的应用场景。Python 在 W...

weixin_39632327的博客 347

ESP32S3编译micropython固件

编译ESP32芯片的micropython固件

m0_73253860的博客 2553

3天完成一个Python副业项目?其实你也可以

副业,或许是当代年轻人最感兴趣的话题之一了。在知乎随便点开一个关于“副业”的问题,浏览量都高达1亿以上,可见其诱惑力。

xzz_777c的博客 210

避开STM32中断优先级配置的坑:HAL_NVIC_SetPriority()参数你真的用对了吗?

本文深入解析STM32中断优先级配置中的关键问题,重点剖析HAL_NVIC_SetPriority()函数的正确使用方法。通过实际案例揭示优先级分组设置、抢占优先级与子优先级的区别,提供多中断系统中的优化策略和调试技巧,帮助开发者避免常见配置错误,提升系统稳定性。

weixin_42532938的博客 423

微信小程序利用Echarts加载中国地图的步骤

微信小程序如何利用Echarts加载地图?可按照如下四个步骤进行。(阅读时间大概3分钟)。

成都都成 5275

最火的五大 python 开源项目

python 语言易学,且开发高效,用 python 语言开发的开源项目活跃度很高,下面介绍目前最活跃的五大 python 开源项目: 1.) 排名第一位的当然是有关机器学习的Google开源项目 TensorFlow,TensorFlow 是一个采用数据流图,用于数值统计计算的开源项目,此项目一经公布就有过万的 star 和 fork,被广泛的用于机器学习和深度神经网络方面的研究。 ...

python1212的博客 492

vscode中运行gcc -v命令失败了,提示:gcc不是内部或外部命令...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 976

Python的框架

Python的框架 Web应用开发框架 Django(企业级) Python最出名的Web应用开发框架。Django最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。 优点: 开源框架,有完美的文档支持 解决方案众多,内部功能支持较多 优雅的URL,完整的路由系统 自助式的后台管理 缺点: 系统紧耦合,想用喜欢的第三方库来代替是非常难的,即使打了一些补丁用上了也会觉得非常别扭。 Django自带的ORM远不如SQLAlch

yxc0572的专栏 381

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

3天搞定一个Python副业项目?其实你也可以!

副业,或许是当代年轻人最感兴趣的话题之一了。在知乎随便点开一个关于“副业”的问题,浏览量都高达1亿以上,可见其诱惑力。但很多朋友会发现,想拥有一份副业,你至少得掌握一两项技能,比如:写作、配音、剪辑、画画……那么,996的打工人学什么副业技能才更实际呢?**Python编程,**可能会是个不错的选择。

libaiup的博客 198

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

1.每天进步一点点------爬虫应用场景

什么是爬虫,爬虫的应用场景,爬虫由哪几部分组成,爬虫学习路线

感谢关注-最近在编写开源的自动化测试框架还没整理完 3786

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

用Scrapy与Django一起搭建一个简单的爬虫框架

目录目录 前言 正文 环境配置 只用Scrapy完成任务 简单的Django项目 连接mysql数据库 编写一个数据类 加入Scrapy 编写items 编写spiders 编写pipelines 爬虫设置 部署和运行爬虫 启动scrapyd 部署爬虫到scrapyd 运行结果 项目地址 后记 前言跳过废话,直接看正文总是写后端也没意思,突发奇想,来学学爬虫。最终目标是利用Scrapy以及Djang

clayanddev的博客 2万+

网络爬虫的应用场景

新闻网站可以利用爬虫技术自动抓取各大新闻源的内容,实现新闻的实时更新和聚合。此外,爬虫还可以帮助媒体机构分析网络舆情,了解公众对某一事件或话题的看法和态度,为新闻报道提供有价值的参考。通过爬虫技术,科研人员可以自动从互联网上抓取相关领域的文献、报告、数据等,为研究工作提供丰富的素材和依据。除了我们熟知的搜索引擎利用爬虫技术抓取互联网上的信息以提供用户搜索服务外,还有许多其他领域也依赖于网络爬虫的高效运作。总之,网络爬虫的应用场景非常广泛,几乎涵盖了所有需要获取和分析互联网信息的领域。

weixin_71158509的博客 1121

Django+Scrapy结合使用并爬取数据入库

在django项目根目录位置创建scrapy项目,django_12是django项目,ABCkg是scrapy爬虫项目,app1是django的子应用 2.在Scrapy的settings.py中加入以下代码 import os import sys sys.path.append(os.path.dirname(os.path.abspath('.'))) os.environ['DJANGO_SETTINGS_MODULE'] = 'django_12.settings' # 项目名.se.

shiguanggege的博客 1万+

django 监控爬虫_django高级之爬虫基础

目录:爬虫原理requests模块beautifulsoup模块爬虫自动登陆示例一、爬虫原理Python非常适合用来开发网页爬虫,理由如下:1、抓取网页本身的接口相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)此外,抓...

weixin_39765697的博客 1890

Python爬虫进阶(1),Django+Selenium+Mysql+SimpleUI,从零开始搭建自己的爬虫后台管理系统

Python爬虫进阶(1),Django+Selenium+Mysql+SimpleUI从零搭建自己的爬虫后台,实现可视化监控爬虫内容信息

入佛门六根不净,入商场狼性不足 4617
上一篇: 如何发现 GitHub 上那些有趣好玩的项目?
下一篇: 分享整理的 Python 学习路线图,(附工具+视频+书籍+面试)
Wang_AI
博客等级 码龄12年 991粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值