轮播组件/瀑布流/组合搜索/KindEditor插件
一、企业官网
瀑布流
Models.Student.objects.all() #获取所有学员信息
通过div进行循环图片和字幕
1.以template模板方法实现瀑布流以列为单位放置图片和字母信息:通过取余的方式分列,三列就对三取余,在templatetags里面自定义模板,但是对于前端创建的判断方法if,时不能使用@register.simple_tag,simple_tag方法不能用于if 后,所以引用filter方法:@register.filter
2.以JS的方式实现瀑布流以列为单位放置图片和字母信息:通过JS进行求余运算实现瀑布流
轮播图:
轮播图bxlider插件:依赖于Jquery
组合搜索
目的是信息的查询过滤
models.Video.objects.filter() # 查询:使用字典进行组合查询,在前端通过类型id实现动态组合索引,最简单的组合查询方法,数据类型无关联
示例:sparta(学习示例,非本人所写,就不发链接了)
安装python2.7
pip2 install django==1.7.8
pip2 install Pillow
二、博客系统
个人博客注册
个人主页
个人后台管理
主题定制
Editor(回存在XSS攻击)
TinyEditor(IE的)
UEEditor (百度的)
CKEditor(比较老的)
KindEditor(中文版的)
KindEditor:
基本配置
处理XSS
Beautifulsoup4模块使用
三、Tornado
Web框架:Tornado
Tornado内置模块实现爬虫
四、爬虫
requests模块:请求地址获取文件,模拟浏览器向服务端发送请求
requests.put()
requests.get()
requests.post()
requests.patch()
requests.delete()
requests.head()
requests.options()
requests.request()
allow_redirects参数,是否是否重定向
# Author:wylkjj # Date:2020/2/23 # -*- coding:utf-8 -*- import requests from bs4 import BeautifulSoup import json# requests发送get请求 response = requests.get('https://www.bilibili.com/') # print(response.text) soup = BeautifulSoup(response.text, features="html.parser") text_list = soup.find_all(name='div', class_='item') print(text_list)# requests发送post请求 form_data = {'phone': '+8615044487970','password': 'adpsasfff','loginType': 2, }# request 参数 response = requests.post(url='https://dig.chouti.com/login',data=form_data, # 请求头为 content-type:application/x-www-form-urlencodedparams={'eric': '123456'}, # 拼接后url http://www.baidu.com/?query=ericjson=json.dumps({'user': 'eric', 'pwd': '12345'}), # 请求头会改变content-type:application/json ) print(response.text)# request 参数 requests.request(method = "GET",url = "http://www.baidu.com",params = {'query':'eric'}, data={}, # 数据传输,get用不到,post时把data数据放到请求体中传输到后端header={'referer': 'https://www.zhihu.com/signin?next=http%3A%2F%2Fwww.zhihu.com%2Fpeople%2Feric-wijing','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3970.5 Safari/537.36'}, # 当requests访问被拒绝时,设置header中的Referer或'user-agent',因为可能是他们两个参数的问题,在network发送请求后的Header中cookies={}, ) # request 参数 response = requests.get(url='https://i-beta.cnblogs.com/settings',# 获取已登陆的信息cookies={'.CNBlogsCookie':'93C26874509F65701B9F02163426CC74B23CDE7B9383331E04AEA2BEA2FEBEB0E3DA7F41FAF308FB36B946F007B8981D38AFE66E2042A6A80D2E5BF31E45BCECF0A3343E9AA83FDDCC155278666854E135E069A3',},cert:'证书文件' # 有些网站需要证书才能获取数据 ) print(response.text)
beautifulsoup:数据区提取(格式化)
使用方法:引入from bs4 import BeautifulSoup,创建对象:soup = BeautifulSoup(html_doc, features=“html.parser”),html_doc是要解析的对象,features="html.parser"是解析器,最快的解析器是lxml解析器,不过需要自行安装,html解析器是python内置的解析器;
soup.children的方法是获取所有模块,只不过只会寻找第一层body ;
soup.body.children会寻找出body所有的元素(body的下一层);
for tag in soup.body.descendants:循环tag.name能获取标签的类型属性(有div,就会获得其属性div),单独输出tag,循环遍历出所有标签;
from bs4 import Tag:遍历的每一个标签,获取其属性,可用其判断获取所有元素的属性;循环tag.name能获取详细的标签类型属性(有div,就会获得其属性div);tag.attrs可以获取所有的标签内部的所有属性对其进行增删改查操作。
soup.html.hidden = True;soup.head.hidden = True ;显示出隐藏的标签,如果不设置此属性,在进行soup操作时不会读取出hidden隐藏的内容。
# Author:wylkjj
# Date:2020/2/23
from bs4 import BeautifulSoup
from bs4 import Tag
# Create your views here.
html_doc = """
<body>
<div class="bili-banner1" style="background-image: url("//i0.hdslb.com/bfs/archive/7197cae46569a49abd98e0c51348068831be6a85.png");" data-v-5ff46558=""><div class="taper-line" data-v-5ff46558=""></div><div class="b-logo b-wrap" style="margin: 0" data-v-5ff46558=""><a href="//www.bilibili.com" class="head-logo" data-v-5ff46558=""><img src="//i0.hdslb.com/bfs/archive/1be2fd76cc98cdc6a595c05c3134fbf937a1c126.png" class="logo-img" data-v-5ff46558="">123456789</a><!----></div><!----></div>
<div class="bili-banner2" style="background-image: url("//i0.hdslb.com/bfs/archive/7197cae46569a49abd98e0c51348068831be6a85.png");" data-v-5ff46558=""><div class="taper-line" data-v-5ff46558=""></div><div class="b-logo b-wrap" style="margin: 0" data-v-5ff46558=""><a href="//www.bilibili.com" class="head-logo" data-v-5ff46558=""><img src="//i0.hdslb.com/bfs/archive/1be2fd76cc98cdc6a595c05c3134fbf937a1c126.png" class="logo-img" data-v-5ff46558="">123456789</a><!----></div><!----></div>
asdfasfasdfasdf
<a>123456</a>
<h3>123456</h3>
<div class="bili-banner3" style="background-image: url("//i0.hdslb.com/bfs/archive/7197cae46569a49abd98e0c51348068831be6a85.png");" data-v-5ff46558=""><div class="taper-line" data-v-5ff46558=""></div><div class="b-logo b-wrap" style="margin: 0" data-v-5ff46558=""><a href="//www.bilibili.com" class="head-logo" data-v-5ff46558=""><img src="//i0.hdslb.com/bfs/archive/1be2fd76cc98cdc6a595c05c3134fbf937a1c126.png" class="logo-img" data-v-5ff46558="">123456789</a><!----></div><!----></div>
</body>
"""
# python内置解析器,但lxml使用时解析最快,需要安装
soup = BeautifulSoup(html_doc, features="html.parser")
# tag1 = soup.find(name='a')
for tag in soup.body.descendants:
# for tag in soup.body.children:
# for tag in soup.children:if isinstance(tag, Tag):# print("属性:", tag.name, tag.attrs)pass
tag1 = soup.find(name='a')
del tag1.attrs['class']
print(tag1)
print(soup)tag1 = soup.find(name='a')
tag1.clear()
print(tag1)
print(soup)
单例模式:使用一个对象进行操作
# Author:wylkjj
# Date:2020/2/23
# -*- coding:utf-8 -*-# 创建单例模式第一种方法
class Foo:__instance = None@classmethoddef instance(cls):if Foo.__instance:return Foo.__instanceelse:obj = Foo()Foo.__instance = objreturn Foo.__instanceobj1 = Foo()
obj2 = Foo()
print(obj1, obj2)# 创建单例模式第二种方法
class Fo(object):__instance = Nonedef __init__(self):passdef __new__(cls, *args, **kwargs):if cls.__instance:return cls.__instanceelse:obj = object.__new__(cls, *args, **kwargs) # 创建类cls.__instance = objreturn cls.__instanceobj3 = Fo()
obj4 = Fo()
print(obj3, obj4)
scrapy框架:爬虫框架
五、Web微信/微信公众平台登录
只是在网页端允许登录时可以使用,但是由于微信取消了网页端的登录,无法实现,纯属个人喜好,理解理解。
轮询:
客户端定时向服务器端发送 Ajax 请求,服务器端接收到请求后马上返回信息并关闭连接。缺点是:有延时,无法满足即时通信的需求。
长轮询(Comet):
客户端向服务器端发送 Ajax 请求,服务器端接收到请求后保持住连接,直到有新消息才返回响应信息并关闭连接。客户端在处理请求返回信息(超时或有效数据)后再次发出请求,重新建立连接。缺点是:服务器保持连接会消耗较多的资源。
WEB微信页:
- 访问页面出现二维码
- 长轮询监听是否已经扫码并且点击确认
- 如何进行会话保持
- 如何获取用户列表
- 如何发送消息(接受消息)
微信二维码获取地址的前缀:https://login.weixin.qq.com/qrcode/{0}
由于现在无法进行操作,其它内容就不编辑了
轮播组件/瀑布流/组合搜索/KindEditor插件相关推荐
- 翻转180度后跳转页面 +轮播图 瀑布流+购物车
(购物车单独的在下一篇博客) 首先是依赖 //image-loaderimplementation files('libs/universal-image-loader-1.9.5.jar')//gs ...
- 【Flutter】Banner 轮播组件 ( flutter_swiper 插件 | Swiper 组件 )
文章目录 一.flutter_swiper 插件 二.Swiper 组件使用 三.完整代码示例 四.相关资源 一.flutter_swiper 插件 到 https://pub.dev/package ...
- 基于移动端Reactive Native轮播组件的应用与开发详解
总结下这段时间学习reactive native的一些东西,我们来认识一下,被炒得这么火的rn,究竟是个什么东西,以及如何去搭建自己的demo. reactive native是什么 由facebo ...
- 造轮子之图片轮播组件(swiper)
图片轮播是种很常见的场景和功能,一般移动网站首页的轮播 banner,商品详情页的商品图片等位置都会用到此功能 像这种常用的场景功能肯定是有人早就写好插件了的,所以遇到这种场景,一般都遵循以下三步: ...
- vue上下轮播组件简单实现
在vue社区里面没有找到特别好的上下轮播插件,基本都是图片的左右播放插件,质量也是参差不齐 在实现这个组件之前,先抛出一个问题,如何在vue中实现dom的环形结构? 首先来看轮播组件的思路 红色部分: ...
- 推荐一款带暂停功能的轮播组件,不要谢我,我叫红领巾!
阅读目录 一.效果展示 1.先跟大家见个面,打个招呼 2.什么?切换太慢了?好,加快速度! 3.加入其他功能 4.图片太小,看不出效果?好,那来个大图感受下! 5.如果你不想要右上角的小图标,照样可以 ...
- Vue.js-Day06-PM【项目实战(附带 完整项目源码)-day01-pm:轮播组件(使用、安装依赖、具体操作过程)、favicon详细制作】
Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 实战项目源码[链接:https://pan.baidu.com/s/1r0Mje3Xnh8x4F1HyG4aQTA 提 ...
- Angular2组件与指令的小实践——实现一个图片轮播组件
如果说模块系统是Angular2的灵魂,那其组件体系就是其躯体,在模块的支持下渲染出所有用户直接看得见的东西,一个项目最表层的东西就是组件呈现的视图. 而除了直接看的见的躯体之外,一个完整的" ...
- ES6公用立体轮播组件的封装及使用
ES6公用立体轮播组件的封装及使用 源码github链接:https://github.com/XieTongXue/how-to/tree/master/carousel-3d 1.效果展示 2.容 ...
最新文章
- ffmpeg avstream::codec 被声明为已否决
- k8s多master建议用几个_K8s 还是 k3s?This is a question
- SAP Spartacus里的登录token处理
- 查看NVIDIA使用率工具目录
- RabbitMQ消息流转图
- Python列表排序 list.sort方法和内置函数sorted
- Matlab线性/非线性规划优化算法(1)
- html5实现单点登录,用 Authing 10分钟实现单点登录(SSO)
- 上传苹果版本时错误解决办法:No suitable application records were found. Verify your bundle identifier
- MySQL-第八篇MySQL内置函数
- File的创建删除复制等功能实现
- 下行文格式图片_下行文标准模版[2]
- 百度地图封装实现拉框效果
- archlinux for wps 字体缺失解决办法
- SDP中fingerprint的作用
- Gartner 魔力四象限 -- 应用安全检测
- 各大国外网站后台管理模块
- backpackII
- EasyExcel导出xlsx时,某一列的数据为空
- VB.net小技巧——VB.net中SHELL函数以及SendKeys函数
热门文章
- 2021_On Generating Plausible Counterfactual and Semi-Factual Explanations for Deep Learning
- 科学孕育:婴幼儿食物过敏怎么办?
- 如何理解进程结构体中的mm和active_mm?
- matlab升余弦数字基带传输系统,某升余弦滚降数字基带传输系统的总体传递函数如下图所示,该系统的滚降系数是___。...
- 2023 一花卡密管理系统源码
- 【Cubase】Cubase编曲时声卡没有声音的解决方法
- 一起学Pandas系列基础篇---at和iat
- 【笔记】ASP.NET Core技术内幕与项目实现:基于DDD与前后端分离
- Attributes and properties
- 一些关于随机矩阵的算法