当前位置: 首页 > news >正文

详细教---用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把我们写好的模型封装。 第一步&#xff1a;代码准备 热搜词条搜集代码&#xff1a; import requests from lxml import etreeurl "https://tophub.today/n/KqndgxeLl9" headers{User-Agent: Mozilla/5.…...

设计模式 抽象工厂

01.人类接口 public interface Human { //首先定义什么是人类//人是愉快的&#xff0c;会笑的&#xff0c;本来是想用smile表示&#xff0c;想了一下laugh更合适&#xff0c;好长时间没有大笑了&#xff1b; public void laugh(); //人类还会哭&#xff0c;代表痛苦 public v…...

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求&#xff1f;二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求&#xff1f; OPTIONS 请求方式是 HTTP 协议中的一种&#xff0c;主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…...

游戏反云手机检测方案

游戏风险环境&#xff0c;是指独立于原有设备或破坏设备原有系统的环境。常见的游戏风险环境有&#xff1a;云手机、虚拟机、虚拟框架、iOS越狱、安卓设备root等。 这类风险环境可以为游戏外挂、破解提供所需的高级别设备权限&#xff0c;当游戏处于这些风险环境下&#xff0c…...

HarmonyOS NEXT应用开发之动态路由

介绍 本示例将介绍如何使用动态路由跳转到模块中的页面&#xff0c;以及如何使用动态import的方式加载模块 使用说明 通过动态import的方式&#xff0c;在需要进入页面时加载对应的模块。配置动态路由&#xff0c;通过WrapBuilder接口&#xff0c;动态创建页面并跳转。动态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损失函数 论文链接&#xff1a; Attention Is All You Need 参考文章&#xff1a; 【NLP】《Attention Is All You Need》的阅读笔记 一…...

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer&#xff08;网格渲染器&#xff09;Materials&#xff08;材质&#xff09;Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes&#xff08;探针&#xff09;Ray Tracing&#xff08;光线追踪&#xff09;Additi…...

每日一练:LeeCode-167. 两数之和 II - 输入有序数组【双指针】

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…...

性能优化(CPU优化技术)-NEON指令详解

原文来自ARM SIMD 指令集&#xff1a;NEON 简介 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xf…...

服务器硬件基础知识和云服务器的选购技巧

概述 服务器硬件基础知识涵盖了构成服务器的关键硬件组件和技术&#xff0c;这些组件和技术对于服务器的性能、稳定性和可用性起着至关重要的作用。其中包括中央处理器&#xff08;CPU&#xff09;作为服务器的计算引擎&#xff0c;内存&#xff08;RAM&#xff09;用于数据临…...

深度学习PyTorch 之 transformer-中文多分类

transformer的原理部分在前面基本已经介绍完了&#xff0c;接下来就是代码部分&#xff0c;因为transformer可以做的任务有很多&#xff0c;文本的分类、时序预测、NER、文本生成、翻译等&#xff0c;其相关代码也会有些不同&#xff0c;所以会分别进行介绍 但是对于不同的任务…...

STC 51单片机烧录程序遇到一直检测单片机的问题

准备工作 一&#xff0c;需要一个USB-TTL的下载器 &#xff0c;并安装好对应的驱动程序 二、对应的下载软件&#xff0c;stc软件需要官方的软件&#xff08;最好是最新的&#xff0c;个人遇到旧的下载软件出现问题&#xff09; 几种出现一直检测的原因 下载软件图标&#xf…...

后端系统开发之——接口参数校验

今天难得双更&#xff0c;大家点个关注捧个场 原文地址&#xff1a;后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容&#xff1a; 前言 在上一篇文章中提到了接口的开发&#xff0c;虽然是完成了&#xff0c;但还是缺少一些细节——传入参数的校验。 即用户…...

IDEA 配置阿里规范检测

IDEA中安装插件 配置代码风格检查规范 使用代码风格检测 在代码类中&#xff0c;右键 然后会给出一些不符合规范的修改建议&#xff1a; 保存代码时自动格式化代码 安装插件&#xff1a; 配置插件&#xff1a;...

数据仓库系列总结

一、数据仓库架构 1、数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 数据仓库通常包含多个来源的数据&#xff0c;这些数据按照主题进行组织和存储&#x…...

gitlab runner没有内网的访问权限应该怎么解决

如果你的GitLab Runner没有内网访问权限&#xff0c;但你需要访问内部资源&#xff08;如私有仓库或其他服务&#xff09;&#xff0c;你可以考虑以下几种方法&#xff1a; VPN 或 SSH 隧道&#xff1a; 在允许的情况下&#xff0c;通过VPN或SSH隧道连接到内部网络。这将允许Gi…...

el-tree 设置默认展开指定层级

el-tree默认关闭所有选项&#xff0c;但是有添加或者编辑删除的情况下&#xff0c;需要刷新接口&#xff0c;此时会又要关闭所有选项&#xff1b; 需求&#xff1a;在编辑时、添加、删除 需要将该内容默认展开 <el-tree :default-expanded-keys"expandedkeys":da…...

python便民超市管理系统flask-django-nodejs-php

随着人们生活节奏的加快&#xff0c;以前传统的购物方式发生了巨大的改变&#xff0c;以前一个超市要想经营好自己的门店&#xff0c;每天都要忙着记账出账&#xff0c;尤其是出库入库统计&#xff0c;如果忙中出乱&#xff0c;可能导致今天所有的营业流水&#xff0c;要重新换…...

HarmonyOS — BusinessError 不能被 JSON.stringify转换

在鸿蒙中BusinessError 继承于Error&#xff0c;而在JavaScript&#xff08;以及TypeScript&#xff0c;因为它是JavaScript的超集&#xff09;中&#xff0c;Error 对象包含一些不能被 JSON.stringify 直接序列化的属性。JSON.stringify 方法会将一个JavaScript对象或者值转换…...

Spring Boot 4.0 Agent-Ready架构不是噱头:实测插件加载耗时<17ms、内存开销<0.8%,但93%开发者仍用错--你中招了吗?

第一章&#xff1a;Spring Boot 4.0 Agent-Ready 架构插件下载与安装概览Spring Boot 4.0 引入了原生支持 Java Agent 的运行时架构&#xff0c;使可观测性、安全增强与无侵入式性能分析成为开箱即用的能力。Agent-Ready 并非独立组件&#xff0c;而是内建于启动器&#xff08;…...

终极指南:如何使用Harepacker-resurrected高效编辑MapleStory游戏资源

终极指南&#xff1a;如何使用Harepacker-resurrected高效编辑MapleStory游戏资源 【免费下载链接】Harepacker-resurrected All in one .wz file/map editor for MapleStory game files 项目地址: https://gitcode.com/gh_mirrors/ha/Harepacker-resurrected 你是否曾因…...

iOS设备支持文件最佳实践:跨版本调试实战指南

iOS设备支持文件最佳实践&#xff1a;跨版本调试实战指南 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport iOS设备支持文件是企业级iOS应用开发中不可或缺的关键组件&#xff0c…...

从SMC样本页到PLC梯形图:源型/漏型(Source/Sink)选择的底层逻辑与历史渊源

从SMC样本页到PLC梯形图&#xff1a;源型/漏型选择的底层逻辑与历史渊源 翻开SMC气动元件样本时&#xff0c;"NPN&#xff08;漏型&#xff09;"和"PNP&#xff08;源型&#xff09;"的标注常让工程师困惑。这两种配置不仅是命名差异&#xff0c;更蕴含着半…...

从Vim小白到高手:我是如何在IDEA里用IdeaVim插件一步步‘驯服’代码的(含避坑指南)

从Vim小白到高手&#xff1a;IDEA中IdeaVim插件的进阶修炼手册 第一次在同事的屏幕上看到那双在键盘上飞舞的手&#xff0c;光标如同被施了魔法般在代码间精准跳跃&#xff0c;我意识到自己遇到了传说中的"Vim高手"。那种不依赖鼠标、行云流水的编码体验&#xff0c;…...

从Java老手到Rust新手:我在IntelliJ IDEA里踩过的那些‘环境坑’及填坑记录

从Java老手到Rust新手&#xff1a;我在IntelliJ IDEA里踩过的那些‘环境坑’及填坑记录 第一次在IntelliJ IDEA里创建Rust项目时&#xff0c;我下意识地点击了"New Project"——就像过去十年里创建Java项目那样自然。然而接下来的半小时&#xff0c;我的表情从困惑变…...

**发散创新:基于Flink实时流处理的电商订单异常检测系统设计与实践**在现代电商场景中

发散创新&#xff1a;基于Flink实时流处理的电商订单异常检测系统设计与实践 在现代电商场景中&#xff0c;订单数据的实时性与准确性直接决定了用户体验和业务决策效率。传统的批处理方式已无法满足“秒级响应”的需求&#xff0c;而Apache Flink作为新一代流式计算引擎&#…...

1个终极网盘直链解析解决方案:如何摆脱下载限速实现全速下载?

1个终极网盘直链解析解决方案&#xff1a;如何摆脱下载限速实现全速下载&#xff1f; 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中…...

深入理解Hash冲突:两个不相等的对象能否拥有相同的HashCode?

深入理解Hash冲突&#xff1a;两个不相等的对象能否拥有相同的HashCode&#xff1f; 在Java、Python等编程语言中&#xff0c;哈希表&#xff08;HashMap、HashSet等&#xff09;是极为常用的数据结构。而哈希码&#xff08;hashCode&#xff09;作为哈希表的核心概念&#xff…...

ADK WinPE定制进阶:除了Explorer,我的PE里还集成了这些轻量级必备工具

ADK WinPE定制进阶&#xff1a;打造轻量高效的PE工具生态 在系统维护与部署领域&#xff0c;一个精心定制的WinPE环境就像技术人员的瑞士军刀——不在于功能繁多&#xff0c;而在于每项工具都能精准解决实际问题。当大多数现成PE系统要么功能冗余要么过于简陋时&#xff0c;掌握…...