xingyunlib
[toc]
开发者:严子昱|崔轩宇
v1.2.20201004
#v1.2.xx以后全是正式版#
#hack-20201004:修复xesuser故障
版权所有,侵权必究
内置函数 导入方式:
1 | from xingyunlib import * |
加密函数
1 | md=md5("111")#作用:用MD5加密"111",返回一个字符串 |
颜色类
1 | color=colorX(颜色,传进去的颜色类型)#类型支持"rgb","hsv","hex" |
color.color
返回颜色
1 | z=color.color |
color_to(to_color,change=False)
返回一个要转换的颜色
to_color:转换的颜色,类型支持”rgb”,”hsv”,”hex”
change:是否更改原来的颜色
1 | color=colorX((255,255,255),"rgb")#实例化rgb |
all(一次性导入扩展!可能出现覆盖现象!)
使用方式
1 | from xingyunlib.all import* |
print_format(print格式化扩展)
开发者:严子昱
导入方式
1 | from xingyunlib.print_format import* |
print()
1 | print(*str,t=0,sepr=" ",end="\n") |
我们来逐个讲解他们的用法
首先来看t参数:
t=每个字停留的时间(默认为不停留)
比如说,要每个字停留1秒,输出”nice”的代码如下:print("nice",t=1)
然后我们来看end参数
这个end参数其实和原来print的end参数是同样的作用
默认是”\n”(换行符)
最后我们看sepr参数,这个参数也是和原来print的sepr是同样的作用
我们来看一个例子:print("ni","e",sepr="c")
最后输出的就是“nice”
我们来看大家这个很关心的变色简洁方式
我们在变色具体支持这些颜色:
红、白、绿、蓝、黄、青、紫
用法如下(注意是两个斜杠):
‘\‘+颜色(字的颜色变化)
‘\l’+颜色(字的颜色变化,亮色)
‘\b’+颜色(字的背景变化)
‘\bl’+颜色(字的背景变化,亮色)
‘\‘(去除所有的变色效果)
clear_os()
1 | clear_os() |
清除屏幕上的所有文字
xes更改(去除xeslib里面所有的print)
最新版本的xingyunlib增加了xeslib的内容
导入方式
1 | from xingyunlib.xes import xeslib里面的库名 |
更改:
把xeslib里面所有的print都去了
修改AIspeak.speak函数
1 | from xingyunlib.xes import AIspeak |
xesapp(获取学而思站上某个作品的数据!已修复!)
开发者:严子昱|崔轩语
导入方式
1 | from xingyunlib.xesapp import* |
xesapp(url)
1 | <xesapp>=xesapp(url) |
构建一个运行对象
url为学而思里面的py作品网址
接下来讲这个类的方法:
get_hot()
返回作品的热度
1 | print(xesapp.get_hot()) |
get_cover()
返回作品封面的url
1 | print(xesapp.get_cover()) |
load_cover(filename)
下载作品封面到filename
1 | xesapp.load_cover("") |
get_view()
返回作品的观看人数
1 | print(xesapp.get_view()) |
get_hot()
返回作品的热度
1 | print(xesapp.get_hot()) |
get_like()
返回作品的点赞数
1 | print(xesapp.get_like()) |
get_unlike()
返回作品的点踩数
1 | print(xesapp.get_unlike()) |
load_file(cache = “”)
默认下载作品源文件到工作目录
如果cache不为空择下载到这个文件夹
1 | xesapp.load_file() |
is_like()
判断在程序运行这个作品有没有人点赞
返回一个bool值
True:点赞了
False:点踩了
None:没有点赞也没有点踩
1 | if xesapp.is_like == True: |
run_app()
运行这个作品
1 | exec(xesapp.run_app()) |
get_published()
获取作品第一次保存时间
1 | print(xesapp.get_published()) |
get_modified()
获取作品最后一次更新时间
1 | print(xesapp.get_modified()) |
is_hidden_code()
获取作品是否隐藏代码
1 | if xesapp.is_hidden_code(): |
get_description()
获取作品的说明
1 | print(xesapp.get_description()) |
get_comments()
获取作品一共有多少人评论
1 | print(xesapp.get_comments()) |
is_comments()
获取从这个作品初始化到现在是否有人评论
1 | if xesapp.is_comments(): |
cmt(url)
这个是一个获取评论的api
dta_dic
1 | #获取一个包含所有评论的列表 |
fmt()
1 | #返回一个字符串(评论的字符格式化) |
sorted(by=“likes”,reverse=True)
1 | #设置排序 |
xesuser(获取学而思站上某个用户的数据!已修复!)
注意!!
千万一定不要超高频率请求,否则会报错!!!
作者:严子昱
导入方式
1 | from xingyunlib.xesuser import* |
get_user_id(“作品网址”)
1 | user_id=get_user_id("作品网址") |
get__fans(user_id)
1 | fans_info=get_fans(user_id) |
get_follows(user_id)
1 | follows_info=get_follows(user_id) |
get_info(user_id)
1 | user_info=get_info(user_id) |
user(user_id)
1 | user=user(user_id)#这个其实大部分都是前面的内容,不过前面的加载比较慢,这个适用需要数据比较多的程序 |
xesapi
导入方式
1 | from xingyunlib.xesapi import* |
get_api(url)
返回url这个api上的数据
示例->http://code.xueersi.com/api/index/works/modules
1 | print(get_api("http://code.xueersi.com/api/index/works/modules")) |
get_page(page,lang=””,tag=””,type=”popular”)
page:页码
lang:语言
tag:标签
type:爬取页面类型(默认为popular)
1 | print(get_page(1,"cpp")) |
page_all_tags
这个是一个常量(就是上面那个tag可以取得量)
1 | print(page_all_tags) |
pygame_extend(pygame扩展)
导入方式:
1 | from xingyunlib.pygame_extend import * |
(这样顺便导入pygame和sys欸嘿嘿)
!没写完教程等需求多了在说把!
tkinter_extend(tkinter扩展)
导入方式
1 | from xingyunlib.tkinter_extend import* |
作者:严子昱
inpu_box
(class)
1 | #创建(就当button控件用): |
jitter()
作用:抖动窗口(需要在窗口加载完毕后使用,否则可能会出现鬼畜)
1 | from tkinter import * |
center()
作用:将窗口居中
1 | from tkinter import * |
dsfAdmin(自动安装第三方库)
开发者|严子昱
(暂时只支持windows)
导入方式
1 | from xingyunlib.dsfAdmin import* |
get_pakages()
作用:获取已安装每个包的版本
1 | for x in range(len(get_pakages())): |
find_pakages(pakages,ver=None)
作用:获取时否安装pakage这个库,ver代表版本,默认不进行版本监测
1 | if find_pakages("xingyunlib"): |
upgrade_pakages(pakage)
作用:更新pakage这个库
1 | upgrade_pakages(“xingyunlib”) |
install_pakages(pakage)
作用:安装这个库,常和find_pakages一起用
1 | if not find_pakages("alsolib"): |
dump_pip_list(filename)
作用:将库的list保存到这个文件里面
load_pip_list(filename)
作用:将这个文件里面的库导出到正在使用的编译器
1 | dump_pip_list("pip_pakages") |
image(pillow及wordcloud扩展)
开发者|严子昱
导入方式
1 | from xingyunlib.image import* |
resize(filename,XY)
作用:将filename这个文件变成XY大的文件
1 | resive("img1.png",(100,100)) |
cloud(text,font_path,savafile=None,image=None,background_color=”white”,color=True)
(这个函数要安装numpy和wordcloud库)
作用:text为列表,font_path为字体文件的位置
savafile为保存的文件名,image为模板图片的名字
background_color为背景颜色 color为是否根据模板图片的颜色上色(在有模板的情况下)
1 | import os |
add_text(img, text, **args)
这个**args包括以下内容
1 | font=(”字体文件.ttf”,字号) |
user(自定义用户类)
开发者|严子昱
导入方式
1 | from xingyunlib.user import * |
初始化:
user_login(filename=None)
filename:之前的保存数据的文件名,如果没有保存过请不要写filename
1 | user=user_login() |
注册:
user.registered(name,key,flag=True,filename=None)
name:注册的名字
key:密码
flag设置为True:如果已经导入数据则返回False(如果已经注册过了就不让你注册)否则返回True(注册成功)
flag设置为False:都可以注册
filename:保存数据文件的名称
1 | type=user.registered(input("请输入你的名字:"),input("请输入你的密码:"),flag=True,filename="data") |
user.login(name,key)
name:注册时的名称
key:密码
返回一个bool值,为True或False
True:验证密码正确 False:验证失败
1 | type=user.login(input("请输入你的名字:"),input("请输入你的密码:")) |
user.load(filename)
导入保存的数据,filename为文件名
1 | b=user_login() |
导入方式
1 | from xingyunlib import mail |
用法:
mail.send(to,title,txt)
1 | mail.send("3161399620@qq.com","hello python","hello world!") |
to:发送给的邮箱
title:标题
txt:发送的文本
err(自定义抛出错误)
导入方式
1 | from xingyunlib import err |
当你有一些程序想在特定的情况终止怎么办?
试试下面的程序
err(txt)
1 | from xingyunlib import err |
http_spider(爬虫)
导入方式
1 | from xingyunlib import http_spider |
load_requests(str,between,line)
默认值:between=”:” ; line=”\n”
between:分隔符
line:换行符
这个概念有点难理解,具体看下面示例,能不能听懂由天命
1 | from xingyunlib import http_spider |
主要作用是自动分析从浏览器复制出来的headers
spider(*args,**kwargs)
这个函数就明显很水,完全是凑数用的,不过对于一些新手来说还是有点用的
其实就是requests的变体,增加了一个判断是否状态码是否10x,40x,50x的功能而已
1 | from xingyunlib import http_spider |
ua_list
话不多说,上代码
1 | from xingyunlib import http_spider |
这是一个列表,里面有很多笔者搜集的ua,(截至2020-9-19)收录了15个ua,足够你用了
get_xes_url(url)
爬取一个xes的页面
1 | from xingyunlib import http_spider |
data(保存数据)
数据类方法
2020-10-1
作者:严子昱
导入方式
1 | from xingyunlib import data |
Data
初始化方法:
1 | dta=data.Data(filename,find=False) |
输入数据:
change_data(data)
1 | dta=data.Data(filename,find=False) |
eval_data()
把从文件中保存的数据转换成可执行内容
1 | """fruit.txt内容: |
save()
保存结果到文件中
1 | dta=data.Data("great",find=False) |