首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,544 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,095 阅读
3
gradle-5.4.1-all.zip下载
9,058 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,927 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,908 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
626
篇文章
累计收到
624
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
450
篇与
的结果
2020-05-17
自用软件快捷键整理(Visual Studio,Visual Studio Code,Pycharm,Rider)
目前啥软件都用一下,之前HTML用Vscode,然后python又用pychram,然后C#又用Visual Studio,然后因为Jetbrain的学生包所以试了下Rider,感觉提示比微软的好,所以也接触了一下。然后常用的快捷键都混淆了,所以水篇博文来整理一下这些快捷键。Visual Studio代码全部折叠/展开:Ctrl+M代码添加注释:Ctrl+K+C代码取消注释:Ctrl+K+U代码格式化:Ctrl+K+D代码提示:Ctrl+J复制这一行:Ctrl+D(这个倒是和pycharm一样)Debug逐句和逐过程调试:F11和F10插入代码代码:Ctrl+K+X补全:Tab+Tab无论在哪切换到下一行(上一行):Shift+Enter(Ctrl+Enter)以后有需要再加Pycharm注释或取消注释:Ctrl+/格式化代码:Ctrl+Alt+L复制当前行或选中行:Ctrl+D无论在哪切换到下一行(上一行):Shift+Enter(Ctrl+Enter)使用的类,方法或变量的声明:Ctrl+单击初次运行该程序:Ctrl+Shift+F10运行:Ctrl+F5代码补全:Ctrl+Shift+Enter替换:Ctrl+R有待添加。。。。。。Visual Studio Code新建文件:Ctrl+N代码格式化:Shift+Alt+F注释:Ctrl+/无论在哪切换到下一行(上一行):Shift+Enter(Ctrl+Enter)转到定义:F12以后在添加
2020年05月17日
1,510 阅读
0 评论
0 点赞
2020-05-16
C#可视化程序设计课堂笔记
C#可视化程序设计笔记一、初识类和对象类与对象:某种可为人所感知的物质;思维,感受或动作所作用的物质或精神体。类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。对象:根据《韦氏大学英语词典》的释义:两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。C#类定义:语法:[访问修饰符] class 类名{ 类的字段声明; 类的属性声明; 类的方法声明; }举例:class Product{ public string name; public string category; public double price; public int stock; public string descrition; // 定义字段与变量类似,需要指定类型与字段名,public是访问修饰符,控制类成员访问权限。public为公开的意思,表示在任何地方都能访问到。 public void ShowInfo(){ Console.WriteLine("产品信息"); Console.WriteLine("======================="); Console.WriteLine("产品名称:{0}",name); Console.WriteLine("产品类别:{0}",category); Console.WriteLine("产品价格:{0}元",price); Console.WriteLine("产品描述:{0}",description); }}对象的操作a,实例化对象:类名 对象名 = new 类名();Product phone = new Product();b,访问类的字段:Console.WriteLine(phone.name);//在类的内部访问字段时,直接通过字段名访问。//如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。c,调用类的方法:phone.ShowInfo();//实例化对象后,可通过对象名.方法名(参数)进行调用命名空间导入命名空间using Company.Development;namespace T1Demo{ class Program{ static void Main(String[] args){ Employee emp = new Employee(); } }}使用完全限定名访问namespace T2Demo{ class Program{ static void Main(String[] args){ Company.Development.Employee emp1 = new Company.Development.Employee(); } }}定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。自定义命名空间举例(命名空间也可以嵌套)://某公司namespace Company{ Class Employee{ } // 研发部 namespace Development{ //研发部员工类 class Employee{ } } // 人事部 namespace Personel{ //人事部员工类 class Employee{ } }}常用的系统命名空间:命名空间说明System根命名空间,提供最基本的操作System.Data处理数据存取和管理System.IO管理对文件,流的同步和异步访问System.Windows可视化编程的基于窗体的处理System.Collections包含对集合进行处理的接口和类命名空间的使用:ADO.NET基础1,Connection链接using System.Collections.Generic;using System.Data;using System.Data.SqlClient;namespace T2practice2{ class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; } }}<br/>2,使用Command执行 class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ Console.WriteLine("+---------------+"); Console.WriteLine("|1,新增|"); Console.WriteLine("|2,修改|"); Console.WriteLine("|3,删除|"); string index = Console.ReadLine(); string sql = ""; String loginid =""; String loginpwd=""; switch (index){ case "1": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("insert into Admins Values('{0}','{1}','{2}')"),loginid,loginpwd,name); break; case "2": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入新密码"); String newpwd = Console.ReadLine(); sql = string.Format("update admins set loginpwd = '{0}' where loginid='{1}' and loginpwd='{2}'"),newpwd,loginid,loginpwd); break; case "3": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("delete from Admins where loginid='{0}' and loginpwd='{1}'"),loginid,loginpwd,name); break; } SqlCommand cursor = new SqlCommand(sql,conn); if (cursor.ExecuteNonQuery()>0){ Console.WriteLine("成功"); }else{ Console.WriteLine("错误") } } conn.Close(); } }3,使用DataReader读取class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ string sql = "select id,loginid,name from Admins"; //创建Command对象 SqlDataReader reader = cmd.ExecuteReader(); Console.ReadLine("编号 账号 密码 姓名"); while(reader.Read()){ string id = reader["ID"].ToString(); string loginid = reader["loginid"].ToString(); string loginpwd = reader["loginpwd"].ToString(); string name = reader["name"].ToString(); Console.WriteLine("{0} {1} {2} {3}",id,loginid,loginpwd,name); } reader.Close(); } }MarkDown:C#可视化笔记# C#可视化程序设计笔记 ## 一、初识类和对象 1. 类与对象: 1. 类:是对事物的一种抽象定义,将抽象之后的特征和行为有机结合便构成了类(个人理解就是种类吧,比如人就是一个种类,而将人具体描述出来,也就是实例化了一个人)。 1. 对象:根据《韦氏大学英语词典》的释义: 1. 某种可为人所感知的物质; 1. 思维,感受或动作所作用的物质或精神体。 3. 两者关系:类是一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。 3. 总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个具体的事物,是类的一个实例,是类实例化的结果。 2. C#类定义: 1. 语法: ```csharp [访问修饰符] class 类名{ 类的字段声明; 类的属性声明; 类的方法声明; } ``` 1. 举例: ```csharp class Product{ public string name; public string category; public double price; public int stock; public string descrition; // 定义字段与变量类似,需要指定类型与字段名,public是访问修饰符,控制类成员访问权限。public为公开的意思,表示在任何地方都能访问到。 public void ShowInfo(){ Console.WriteLine("产品信息"); Console.WriteLine("======================="); Console.WriteLine("产品名称:{0}",name); Console.WriteLine("产品类别:{0}",category); Console.WriteLine("产品价格:{0}元",price); Console.WriteLine("产品描述:{0}",description); } } ``` 3. 对象的操作 1. 实例化对象: ```csharp 类名 对象名 = new 类名(); Product phone = new Product(); ``` 1. 访问类的字段: ```csharp Console.WriteLine(phone.name); //在类的内部访问字段时,直接通过字段名访问。 //如果在外部首先定义字段时需要设置Public修饰符,然后实例化对象,通过对象名和“.”运算符才允许在类的外部访问。 ``` 1. 调用类的方法: ```csharp phone.ShowInfo(); //实例化对象后,可通过对象名.方法名(参数)进行调用 ``` 4. 命名空间 1. 定义:相当于文件夹,但命名空间是一种逻辑组合,C#中,命名空间有两种形式:1,.NET框架定义好的系统命名空间,另一种是开发中自定义的命名空间。 1. 自定义命名空间举例(命名空间也可以嵌套): ```csharp //某公司 namespace Company{ Class Employee{ } // 研发部 namespace Development{ //研发部员工类 class Employee{ } } // 人事部 namespace Personel{ //人事部员工类 class Employee{ } } } ``` 1. 常用的系统命名空间: | 命名空间 | 说明 | | --- | --- | | System | 根命名空间,提供最基本的操作 | | System.Data | 处理数据存取和管理 | | System.IO | 管理对文件,流的同步和异步访问 | | System.Windows | 可视化编程的基于窗体的处理 | | System.Collections | 包含对集合进行处理的接口和类 | 1. 命名空间的使用: 1. 导入命名空间 ```csharp using Company.Development; namespace T1Demo{ class Program{ static void Main(String[] args){ Employee emp = new Employee(); } } } ``` 1. 使用完全限定名访问 ```csharp namespace T2Demo{ class Program{ static void Main(String[] args){ Company.Development.Employee emp1 = new Company.Development.Employee(); } } } ``` ## 二、ADO.NET基础 1. Connection链接 ```csharp using System.Collections.Generic; using System.Data; using System.Data.SqlClient; namespace T2practice2{ class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ Console.WriteLine("Ok") } //关闭数据库链接 conn.close(); if(conn.State == ConnectionState.Close){ Console.WriteLine("ok") } } } } ``` 2. 使用Command执行 ```csharp class Program { static void Main(string[] args) { //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open) { Console.WriteLine("+---------------+"); Console.WriteLine("|1,新增|"); Console.WriteLine("|2,修改|"); Console.WriteLine("|3,删除|"); string index = Console.ReadLine(); string sql = ""; String loginid = ""; String loginpwd = ""; switch (index) { case "1": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("insert into Admins Values('{0}','{1}','{2}')"),loginid,loginpwd,name); break; case "2": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入新密码"); String newpwd = Console.ReadLine(); sql = string.Format("update admins set loginpwd = '{0}' where loginid='{1}' and loginpwd='{2}'"),newpwd,loginid,loginpwd); break; case "3": Console.WriteLine("请输入账号"); loginid = Console.ReadLine(); Console.WriteLine("请输入密码"); loginpwd = Console.ReadLine(); Console.WriteLine("请输入姓名"); String name = Console.ReadLine(); sql = string.Format("delete from Admins where loginid='{0}' and loginpwd='{1}'"),loginid,loginpwd,name); break; } SqlCommand cursor = new SqlCommand(sql, conn); if (cmd.ExecuteNonQuery() > 0) { Console.WriteLine("成功"); } else { Console.WriteLine("错误") } } conn.Close(); } } ``` ```csharp 3. 使用DataReader读取 ```C# class Program{ static void Main(string[] args){ //定义数据库链接字符串 string connString = "server=.;database=GameBoxDB;uid=lanol;pwd=www.lanol.cn"; // 创建链接对象 SqlConnection conn = new SqlConnection(connString); //打开数据库链接 conn.open(); //检测数据库是否打开 if (conn.State == ConnectionState.open){ string sql = "select id,loginid,name from Admins"; //创建Command对象 SqlDataReader reader = cmd.ExecuteReader(); Console.ReadLine("编号\t账号\t密码\t姓名"); while(reader.Read()){ string id = reader["ID"].ToString(); string loginid = reader["loginid"].ToString(); string loginpwd = reader["loginpwd"].ToString(); string name = reader["name"].ToString(); Console.WriteLine("{0}\t{1}\t{2}\t{3}",id,loginid,loginpwd,name); } reader.Close(); } } } ```
2020年05月16日
1,573 阅读
0 评论
0 点赞
2020-05-13
怎么将Z-Blog的缩略图改为远程地址
这两天发现博客首页的缩略图居然一直用的是本地的图片,这就太浪费服务器的空间了,因为本站的图片都是上传到U-file的。然后我就开始翻模板文件。最后在include.php文件里面看到了。那么问题又来了。我虽然学过C#,看过python,但是对PHP可是一脸懵逼呀。一开始我想偷懒,就去这个模板的交流群问,去Z-Blog的社区问。额,似乎然并卵。还是得自己动手,丰衣足食呀。自己用现有的只是分析了一下这些代码function Blogs_thumbnail($id, $sltww, $slthh, $link) { global $zbp, $article; $article = GetPost((int)$id); $random = mt_rand(1, 10); preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?/>/sim', $article->Content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); //文章中图片数量 $zdsuoluetu = $article->Metas->Blogs_suoluetu; //是否手动设置缩略图? if (empty($zdsuoluetu)) { // 如果不是吧 if ($n > 0) { //再判断图片数量是否大于0. $sltu = $strResult[1][0]; //如果是则取第一张图片为缩略图 } else { $sltu = "{$zbp->host}zb_users/theme/{$zbp->theme}/image/random/{$random}.jpg"; //否则就在本地目录10张图片内随机选一张作为缩略图 } } else { $sltu = $zdsuoluetu; //缩略图为手动设置的缩略图 } $sltu = "<img src="{$zbp->host}zb_users/theme/{$zbp->theme}/template/timthumb.php?src={$sltu}&w={$sltww}&h={$slthh}&zc=1" alt="{$article->Title}" />"; //这里就是图片地址 if ($link == 1) { $sltu = "<a href="{$article->Url}" title="{$article->Title}">{$sltu}</a>"; } return $sltu; }然后回到首页。检查了一下这些缩略图把链接弄出来大概就是将这张图片经过timthumb.php处理后展现出来。我的远程加速地址是pan.lanol.cn,所以我只要想办法将www换成pan就行了然后我就百度搜索php,菜鸟教程走一波,应该是字符串处理一下就行了,所以这里选择php string有两个替换,区分大小写和不区分大小写。选择不区分吧。然后我就傻乎乎的把这句话复制到代码里面去了。echo str_ireplace("www","pan",$strResult[1][0]);然后刷新。。好吧,我去看下echo的意思才知道这玩意就是输出。。嗯,这是个意外。最终将代码改成了这样子function Blogs_thumbnail($id, $sltww, $slthh, $link) { global $zbp, $article; $article = GetPost((int)$id); $random = mt_rand(1, 10); preg_match_all('/<img.*?(?: |\t|\r|\n)?src=['"]?(.+?)['"]?(?:(?: |\t|\r|\n)+.*?)?/>/sim', $article->Content, $strResult, PREG_PATTERN_ORDER); $n = count($strResult[1]); $zdsuoluetu = $article->Metas->Blogs_suoluetu; if (empty($zdsuoluetu)) { if ($n > 0) { $sltu = str_ireplace("www","pan",$strResult[1][0]); } else { $sltu = "{$zbp->host}zb_users/theme/{$zbp->theme}/image/random/{$random}.jpg"; } } else { $sltu = $zdsuoluetu; } $sltu = "<img src="{$zbp->host}zb_users/theme/{$zbp->theme}/template/timthumb.php?src={$sltu}&w={$sltww}&h={$slthh}&zc=1" alt="{$article->Title}" />"; if ($link == 1) { $sltu = "<a href="{$article->Url}" title="{$article->Title}">{$sltu}</a>"; } return $sltu; }完美解决
2020年05月13日
1,496 阅读
0 评论
0 点赞
2020-05-12
如何在你的博客养一只猫
效果在图的左下角将下列代码插入到你的网页之中就可以啦。<script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script> <script> L2Dwidget.init({ "model": { jsonPath: "https://unpkg.com/live2d-widget-model-hijiki/assets/hijiki.model.json",<!--这里改模型,前面后面都要改--> "scale": 1 }, "display": { "position": "left",<!--设置看板娘的上下左右位置--> "width": 100, "height": 200, "hOffset": 0, "vOffset": 0 }, "mobile": { "show": true, "scale": 0.5 }, "react": { "opacityDefault": 0.7,<!--设置透明度--> "opacityOnHover": 0.2 } }); window.onload = function(){ $("#live2dcanvas").attr("style","position: fixed; opacity: 0.7; left: 70px; bottom: 0px; z-index: 1; pointer-events: none;") } </script>left是调整距离左边多远bottom调整距离底部多远源码转载于网络,如有问题请联系:Vast@tom.com
2020年05月12日
4,891 阅读
2 评论
1 点赞
2020-05-11
一款好看,有科技感的动态背景线条动态效果代码
背景动态js代码,效果图可见本站代码源于网络,如有问题请联系Vast@tom.comjs文件代码!function () { function n(n, e, t) { return n.getAttribute(e) || t } function e(n) { return document.getElementsByTagName(n) } function t() { var t = e("script"), o = t.length, i = t[o - 1]; return {l: o, z: n(i, "zIndex", -1), o: n(i, "opacity", .5), c: n(i, "color", "0,0,0"), n: n(i, "count", 99)} } function o() { a = m.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, c = m.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight } function i() { r.clearRect(0, 0, a, c); var n, e, t, o, m, l; s.forEach(function (i, x) { for (i.x += i.xa, i.y += i.ya, i.xa *= i.x > a || i.x < 0 ? -1 : 1, i.ya *= i.y > c || i.y < 0 ? -1 : 1, r.fillRect(i.x - .5, i.y - .5, 1, 1), e = x + 1; e < u.length; e++) n = u[e], null !== n.x && null !== n.y && (o = i.x - n.x, m = i.y - n.y, l = o * o + m * m, l < n.max && (n === y && l >= n.max / 2 && (i.x -= .03 * o, i.y -= .03 * m), t = (n.max - l) / n.max, r.beginPath(), r.lineWidth = t / 2, r.strokeStyle = "rgba(" + d.c + "," + (t + .2) + ")", r.moveTo(i.x, i.y), r.lineTo(n.x, n.y), r.stroke())) }), x(i) } var a, c, u, m = document.createElement("canvas"), d = t(), l = "c_n" + d.l, r = m.getContext("2d"), x = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (n) { window.setTimeout(n, 1e3 / 45) }, w = Math.random, y = {x: null, y: null, max: 2e4}; m.id = l, m.style.cssText = "position:fixed;top:0;left:0;z-index:" + d.z + ";opacity:" + d.o, e("body")[0].appendChild(m), o(), window.onresize = o, window.onmousemove = function (n) { n = n || window.event, y.x = n.clientX, y.y = n.clientY }, window.onmouseout = function () { y.x = null, y.y = null }; for (var s = [], f = 0; d.n > f; f++) { var h = w() * a, g = w() * c, v = 2 * w() - 1, p = 2 * w() - 1; s.push({x: h, y: g, xa: v, ya: p, max: 6e3}) } u = s.concat([y]), setTimeout(function () { i() }, 100) }();引用代码:<script type="text/javascript" color="0,174,255" opacity='0.7' zIndex="-2" count="200" src="https://download.ccspump.com/js/bjtx.js"></script>
2020年05月11日
3,112 阅读
1 评论
3 点赞
2020-05-09
4k超清壁纸APP抓包获取所有壁纸下载地址
额,最近发现手机壁纸似乎有段时间没换了,刚好又看到网上有一个APP叫做4k超清壁纸似乎很厉害的样子,然后我就抓包,发现这家APP的心真大。先来一张效果图打开Burp,打开软件,设置好burp和模拟器然后清空现有的记录,app内刷新一下多了4条然后就找到接口了。。。感觉现在的一些APP用的http协议就跟玩一样,直接get就能获取所有信息了。。。https://api.wallpaperscraft.com/images?screen[width]=1080&screen[height]=1920&sort=date&lang=en&limit=60&offset=0然后就是python代码:import os import threading import requests def get_url(): url = 'https://api.wallpaperscraft.com/images?screen[width]=1080&screen[height]=1920&sort=rating&lang=en&limit=1000000&offset=0' headers = { 'User-Agent': 'okhttp/3.8.0', } data = requests.get(url, headers).json() data = data['items'] originals = [] adapteds = [] adapted_landscapes = [] for i in data: variation = i['variations'] originals.append(variation['original']['url']) adapteds.append(variation['adapted']['url']) adapted_landscapes.append(variation['adapted_landscape']['url']) print('链接已整合完毕') return originals, adapteds, adapted_landscapes def down_originals(urls): print('开始执行down_originals') if not os.path.exists('originals'): os.makedirs('originals') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('originals/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') def down_adapteds(urls): print('开始执行down_adapteds') if not os.path.exists('adapteds'): os.makedirs('adapteds') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('adapteds/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') def down_adapted_landscapes(urls): print('开始执行down_adapted_landscapes') if not os.path.exists('adapted_landscapes'): os.makedirs('adapted_landscapes') for i in urls: img_data = requests.get(i).content filename = i[42:] with open('adapted_landscapes/' + filename, 'wb') as f: f.write(img_data) print(f'已下载{filename}') if __name__ == '__main__': all_url = get_url() originals = all_url[0] adapteds = all_url[1] adapted_landscapes = all_url[2] print('url已分类整合完毕') t1 = threading.Thread(target=down_originals, args=(originals,)) t2 = threading.Thread(target=down_adapteds, args=(adapteds,)) t3 = threading.Thread(target=down_adapted_landscapes, args=(adapted_landscapes,)) t3.start() t2.start() t1.start()
2020年05月09日
1,203 阅读
1 评论
0 点赞
2020-05-08
自动更新QQ昵称为当前时间
先抓到了QQ手机端修改名称的包。然后用python发包,就这么简单。但是速度过快会被禁止修改。就像这样。然后python实现代码如下:import time import requests while True: now = time.strftime('%H:%M:%S', time.localtime()) url = 'https://ti.qq.com/proxy/domain/oidb.tim.qq.com/v3/oidbinterface/oidb_0x587_52?sdkappid=20344' headers = { 'Host': 'ti.qq.com', 'Content-Length': '18', 'Accept': 'application/json', 'Cookie': 'p_uin=替换为你的p_uin; p_skey=替换为你的p_skey', } data = f'{{"str_nick":"{now}"}}' data = requests.post(url=url, headers=headers, data=data).json() print(data) time.sleep(60)这里时间间隔设置的一分钟,1分钟的时候我还没被封。后来作死调成10s就GG了。cookie里面的p_uin的值为0加你的QQ,如我QQ为:78013994,就是o78013994P_skey:这个就需要自己再去抓个包了(虽然网上也有这种快捷网站,不推荐)随便登陆个空间什么的就行了。替换就行了。
2020年05月08日
4,693 阅读
0 评论
7 点赞
1
...
45
46
47
...
65