详细教---用Django封装写好的模型
本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。
第一步:代码准备
热搜词条搜集代码:
import requests
from lxml import etreeurl = "https://tophub.today/n/KqndgxeLl9"
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.3'
}res = requests.get(url = url,headers=headers,
)# print(res.status_code)html = etree.HTML(res.text)
trs=html.xpath('/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr')def getfirsttext(list):try:return list[0].strip()except:return ""# file=open("微博热搜top50.txt",mode="w",encoding="utf-8")
for tr in trs:id = getfirsttext(tr.xpath('./td[1]/text()'))title=getfirsttext(tr.xpath('./td[2]/a/text()'))play=getfirsttext(tr.xpath('./td[3]/text()'))url=getfirsttext(tr.xpath('./td[2]/a/@href'))print(id,title,play,url)
# file.write(str(id)+","+title+","+str(play))
# file.close()
第二步:创建Django项目
在你选择存放项目的文件夹中,在命令行终端中执行以下命令来创建一个新的 Django 项目,名为myproject:
django-admin startproject myproject
第三步:配置项目
1、创建一个应用程序 myapp。
python manage.py startapp myapp
这将在项目目录下创建一个名为 myapp 的新应用程序,其中包含应用程序的基本目录结构。

2、接下来,创建一个 Django 视图,用来处理请求并将数据呈现在网页上。在你的应用程序中的 views.py 文件中编写如下代码:

from django.shortcuts import render
import requests
from lxml import etreedef show_hot_topics(request):url = "https://tophub.today/n/KqndgxeLl9"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.3'}res = requests.get(url=url, headers=headers)html = etree.HTML(res.text)trs = html.xpath('/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr')hot_topics = []for tr in trs:id = getfirsttext(tr.xpath('./td[1]/text()'))title = getfirsttext(tr.xpath('./td[2]/a/text()'))play = getfirsttext(tr.xpath('./td[3]/text()'))url = getfirsttext(tr.xpath('./td[2]/a/@href'))hot_topics.append({'id': id, 'title': title, 'play': play, 'url': url})return render(request, 'hot_topics.html', {'hot_topics': hot_topics})def getfirsttext(list):try:return list[0].strip()except:return ""
3、创建一个模板文件,用来呈现数据。在你的应用程序中创建一个名为 templates 的文件夹,并在其中创建一个名为 hot_topics.html 的文件

<!-- 在 myapp/templates/hot_topics.html 文件中 -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>热门话题</title>
</head>
<body><h1>热门话题</h1><ul>{% for topic in hot_topics %}<li><a href="{{ topic.url }}">{{ topic.title }}</a> - 播放量: {{ topic.play }}</li>{% endfor %}</ul>
</body>
</html>
4、配置 URL 路由,使得当用户访问特定的 URL 时能够触发 show_hot_topics 视图。在你的应用程序中的 urls.py 文件中编写如下代码:

from django.urls import path
from .views import show_hot_topicsurlpatterns = [path('hot-topics/', show_hot_topics, name='hot_topics'),
]
5、在myproject下的setting.py,设置模板路径
# settings.pyTEMPLATES = [{...'DIRS': [BASE_DIR / 'myapp' / 'templates'], # 设置模板文件路径...}
]

6、在myproject下的urls.py,添加URL配置
path('api/', include('myapp.urls')), myapp.urls就是指自己的模块文件
'api/'的话,需要http://127.0.0.1:8000/api/hot-topics/ 这样去访问。
如果‘’的话,则直接http://127.0.0.1:8000/hot-topics/
# myproject/urls.pyfrom django.urls import path, include
from django.contrib import adminurlpatterns = [path('admin/', admin.site.urls),path('api/', include('myapp.urls')), # 包含应用程序的 URL 配置
]
第四步:启动开发服务器
进入刚刚创建的 myproject 目录,并执行以下命令以启动开发服务器:
cd myproject
python manage.py runserver
输入网址http://127.0.0.1:8000/api/hot-topics/

注意,这个url格式有加密,所以访问不了很正常
相关文章:
详细教---用Django封装写好的模型
本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步:代码准备 热搜词条搜集代码: import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…...
设计模式 抽象工厂
01.人类接口 public interface Human { //首先定义什么是人类//人是愉快的,会笑的,本来是想用smile表示,想了一下laugh更合适,好长时间没有大笑了; public void laugh(); //人类还会哭,代表痛苦 public v…...
OPTIONS请求(跨域预检查)
目录 一、什么是OPTIONS请求?二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求? OPTIONS 请求方式是 HTTP 协议中的一种,主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为…...
游戏反云手机检测方案
游戏风险环境,是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有:云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限,当游戏处于这些风险环境下,…...
HarmonyOS NEXT应用开发之动态路由
介绍 本示例将介绍如何使用动态路由跳转到模块中的页面,以及如何使用动态import的方式加载模块 使用说明 通过动态import的方式,在需要进入页面时加载对应的模块。配置动态路由,通过WrapBuilder接口,动态创建页面并跳转。动态i…...
wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)
文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…...
【NLP笔记】Transformer
文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接: Attention Is All You Need 参考文章: 【NLP】《Attention Is All You Need》的阅读笔记 一…...
【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息
文章目录 接上文MeshRenderer(网格渲染器)Materials(材质)Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes(探针)Ray Tracing(光线追踪)Additi…...
每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 < index1 < index2 < numbers.…...
性能优化(CPU优化技术)-NEON指令详解
原文来自ARM SIMD 指令集:NEON 简介 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 🌄人生秘诀…...
服务器硬件基础知识和云服务器的选购技巧
概述 服务器硬件基础知识涵盖了构成服务器的关键硬件组件和技术,这些组件和技术对于服务器的性能、稳定性和可用性起着至关重要的作用。其中包括中央处理器(CPU)作为服务器的计算引擎,内存(RAM)用于数据临…...
深度学习PyTorch 之 transformer-中文多分类
transformer的原理部分在前面基本已经介绍完了,接下来就是代码部分,因为transformer可以做的任务有很多,文本的分类、时序预测、NER、文本生成、翻译等,其相关代码也会有些不同,所以会分别进行介绍 但是对于不同的任务…...
STC 51单片机烧录程序遇到一直检测单片机的问题
准备工作 一,需要一个USB-TTL的下载器 ,并安装好对应的驱动程序 二、对应的下载软件,stc软件需要官方的软件(最好是最新的,个人遇到旧的下载软件出现问题) 几种出现一直检测的原因 下载软件图标…...
后端系统开发之——接口参数校验
今天难得双更,大家点个关注捧个场 原文地址:后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容: 前言 在上一篇文章中提到了接口的开发,虽然是完成了,但还是缺少一些细节——传入参数的校验。 即用户…...
IDEA 配置阿里规范检测
IDEA中安装插件 配置代码风格检查规范 使用代码风格检测 在代码类中,右键 然后会给出一些不符合规范的修改建议: 保存代码时自动格式化代码 安装插件: 配置插件:...
数据仓库系列总结
一、数据仓库架构 1、数据仓库的概念 数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 数据仓库通常包含多个来源的数据,这些数据按照主题进行组织和存储&#x…...
gitlab runner没有内网的访问权限应该怎么解决
如果你的GitLab Runner没有内网访问权限,但你需要访问内部资源(如私有仓库或其他服务),你可以考虑以下几种方法: VPN 或 SSH 隧道: 在允许的情况下,通过VPN或SSH隧道连接到内部网络。这将允许Gi…...
el-tree 设置默认展开指定层级
el-tree默认关闭所有选项,但是有添加或者编辑删除的情况下,需要刷新接口,此时会又要关闭所有选项; 需求:在编辑时、添加、删除 需要将该内容默认展开 <el-tree :default-expanded-keys"expandedkeys":da…...
python便民超市管理系统flask-django-nodejs-php
随着人们生活节奏的加快,以前传统的购物方式发生了巨大的改变,以前一个超市要想经营好自己的门店,每天都要忙着记账出账,尤其是出库入库统计,如果忙中出乱,可能导致今天所有的营业流水,要重新换…...
HarmonyOS — BusinessError 不能被 JSON.stringify转换
在鸿蒙中BusinessError 继承于Error,而在JavaScript(以及TypeScript,因为它是JavaScript的超集)中,Error 对象包含一些不能被 JSON.stringify 直接序列化的属性。JSON.stringify 方法会将一个JavaScript对象或者值转换…...
Qwen3-32B私有部署实操:对接Prometheus+Grafana监控GPU利用率与API QPS指标
Qwen3-32B私有部署实操:对接PrometheusGrafana监控GPU利用率与API QPS指标 1. 环境准备与镜像部署 1.1 硬件与系统要求 本教程基于RTX 4090D 24GB显存显卡优化配置,以下是部署前需要确认的环境要求: GPU配置:NVIDIA RTX 4090D…...
TIM+PWM输出+输入捕获测 频率+占空比(HAL库)
一:PWM输出(TIM2_CH1)HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);二:输入捕获测(TIM1 CH1CH2)三:开启CH1和CH2的中断四:初始化中断HAL_TIM_IC_Start_IT(&htim1,TIM_CHANNEL_1…...
超大规模智算集群关键技术及工程落地研究报告
摘要:本报告系统分析超大规模智算集群的核心技术、工程落地路径与产业趋势,为行业从业者与投资者提供核心指引。作为AI大模型与数字经济的核心算力底座,其以算存网协同、高密度部署、全栈工程化技术为核心,破解互联效率、调度优化…...
2026功率预测生死局:MKAN多尺度网络如何将光伏预测误差斩落马下?
当考核规则趋严,传统AI模型集体失灵,一种名为MKAN的新型网络正在改写游戏规则。2026年的春天,对于新能源电站的运营者而言,注定不太平。今年以来,多个省份陆续更新了新能源并网运行管理细则,日内预测偏差考…...
[C语言基础 关键字] const static volatile的作用
嵌入式软件开发高频面试题 文章目录一、关键字const二、关键字static1. 静态局部变量2. 静态全局变量或函数三、关键字volatile一、关键字const 声明一个不可修改的变量,即常量 const将变量声明为“只读”,初始化后不能再通过该变量名修改其值。 int …...
Mapus企业级应用场景:从团队协作到商业决策支持的完整指南
Mapus企业级应用场景:从团队协作到商业决策支持的完整指南 【免费下载链接】mapus A map tool with real-time collaboration 🗺️ 项目地址: https://gitcode.com/gh_mirrors/ma/mapus Mapus是一款开源的实时协作地图工具,专为团队协…...
终极ShopXO秒杀功能优化指南:从0到1打造高并发促销系统
终极ShopXO秒杀功能优化指南:从0到1打造高并发促销系统 【免费下载链接】ShopXO开源商城 🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信支付宝百度头条&抖音QQ快手)、APP、…...
保姆级教程:在NumPy实现的MLP中加入BatchNorm和Dropout(附完整代码)
从零实现NumPy版MLP:集成BatchNorm与Dropout的实战指南 如果你已经能用NumPy实现基础的多层感知机(MLP),却苦于模型在MNIST等数据集上表现不稳定、容易过拟合,那么Batch Normalization(批归一化)…...
AIGlasses_for_navigation显存优化:FP16量化部署让4GB显存稳定运行
AIGlasses_for_navigation显存优化:FP16量化部署让4GB显存稳定运行 1. 项目背景与挑战 AIGlasses_for_navigation是一个基于YOLO分割模型的视频目标分割系统,专门为AI智能盲人眼镜导航系统设计。这个系统能够实时检测和分割图片视频中的盲道和人行横道…...
ThreeJS纹理优化:如何正确设置magFilter和minFilter避免贴图闪烁
ThreeJS纹理优化实战:magFilter与minFilter的深度解析与性能平衡 在ThreeJS开发中,纹理质量直接影响着3D场景的最终呈现效果。许多开发者都遇到过这样的困扰:当镜头拉远时,原本精致的贴图突然出现闪烁、摩尔纹或模糊不清的问题。这…...
