博客转移
服务器到期,内容转移
关于 pandownload 软件验证的几个思考 04-15 12:16
https://www.v2ex.com/t/452547
python验证码问题 04-15 12:17
去除干扰线
-
干扰线对于识别验证码增加了一些难度,不过干扰线只有很小的几率会以大角度曲线的方式出现,大部分时间还是小角度直线,去除算法可以参考http://wenku.baidu.com/view/63bac64f2b160b4e767fcfed.html
-
对于1个像素粗细的干扰线,在字符为2个像素以上的时候,可以用去噪点算法作为滤镜,多执行几次,就可以完美的把细干扰线去掉。
-
对于像素数比干扰点稍大的干扰色块,可以采用的算法有:
油漆桶算法(又叫种子填充算法,Floodfill)
种子填充算法可以方便的计算出任意色块的面积,对于没有粘连字符或者粘连但是字符每个颜色不一样的验证码来说,去除干扰色块的效果很好,你只需要大概计算一下最小的和最大的字符平均占多少像素,然后把这段区间之外像素数的色块排除掉即可。
上下左右4个方向填充还有8个方向填充的不同
判断颜色分布:
对于大多数彩色验证码来说,文字基本在图片中心的位置,每个字符本身的颜色是一样的,也就是说对于文字来说,同一种颜色基本都集中在一个固定的区域范围内,通过统计图片中的像素,按近似颜色分组,同时分析每个颜色组在图片中的分布范围,假如说有一种颜色大部分像素都在图片边缘,那么这个颜色肯定不属于要识别的字符,可以去掉。
对于干扰线,并没有一种十分有效的方式能完全去除并且不影响到文字,不过如果能够成功分割字符的话,少量干扰线对于识别率影响不大。
快捷键ctrl+shift+F中文繁体/简体切换 04-16 04:25
关于python去除特殊符号及空格问题 04-17 06:41
测试:
1
2
3
4
5
6
|
import re a = 'asd1344tsfg2$%gfn!$$#%$%^SFGSDFSfdfghet4_+#%' b = re.findall( '[a-zA-Z0-9]+' ,a) print b a = ''.join(b) print a |
输出内容
1
2
|
[ 'a' , 'sd1344t' , 'sfg' , '2' , 'gfn' , 'SFGSDFSfdfghet4' ] asd1344tsfg2gfnSFGSDFSfdfghet4 |
https://www.zhihu.com/question/49660420/answer/335991541 04-17 11:10
python:给图片自动添加拍摄日期 from PIL import Image, ImageFont, ImageDraw import exifread #获得exif信息 def addText(image_path, text): im = Image.open(image_path) # 打开图像 width, height = im.size ttfont = ImageFont.truetype('Deng.ttf', int(height / 20)) #设置字体 draw = ImageDraw.Draw(im) # 创建画画对象 draw.text((int(width * 0.8), int(height *0.9)), text, font=ttfont) # 添加文字 im.show() def get_takedate(filepath): f = open(filepath, 'rb') date = exifread.process_file(f)['EXIF DateTimeOriginal'] #获取拍摄日期时间 date = str(date) #将日期时间转换成字符串 list = date.split(' ') #分开成日期和时间 date = ''.join(list[0].split(':')) #拍摄日期 time = list[1] #拍摄时间 return date def addone(filepath): addText(filepath, get_takedate(filepath)) if __name__ == '__main__': addone('DSC_3345.jpg') #在此处添加文件路径 04-18 03:21
nonlocal 函数局部声明 04-18 13:31
def f1():
a=1
def f2():
nonlocal a
a=2
f2()
print(a)
f1()
输出内容:2
hostloc.com/thread-675311-1-1.html 04-19 13:42
webdriver退出有两种,一种是close,一种是quit 04-28 12:55
close是只关闭当前标签,并且不清除缓存。使用quit是关闭浏览器。
如果爬取数量多,要使用quit
selenium add_argument 参数表 04-28 13:09
https://peter.sh/experiments/chromium-command-line-switches/
chrome_options.add_argument('--user-agent=""') # 设置请求头的User-Agent
chrome_options.add_argument('--window-size=1280x1024') # 设置浏览器分辨率(窗口大小)
chrome_options.add_argument('--start-maximized') # 最大化运行(全屏窗口),不设置,取元素会报错
chrome_options.add_argument('--disable-infobars') # 禁用浏览器正在被自动化程序控制的提示
chrome_options.add_argument('--incognito') # 隐身模式(无痕模式)
chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('--disable-javascript') # 禁用javascript
chrome_options.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
chrome_options.add_argument('--headless') # 浏览器不提供可视化页面
chrome_options.add_argument('--ignore-certificate-errors') # 禁用扩展插件并实现窗口最大化
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速
chrome_options.add_argument('–disable-software-rasterizer')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--start-maximized')
解决办法:使用以下命令恢复默认源 04-28 14:06
conda config --remove-key channels
pyinstaller安装失败的解决办法 04-29 02:09
1.其实一点也不麻烦
2.先“pip install pywin32”
3.在“pip install wheel”
4.试一下“pip install pyinstaller”
Mew医生所谓“Orthotripoc”舌姿练习——把舌头贴住上颚,双唇紧闭,牙齿轻咬。每天保持这姿势4-8小时(这时间够长的) 05-01 10:04
pytq5中文教程 https://maicss.gitbooks.io/pyqt5/content/
python博客 https://blog.siriyang.cn/tags/Pythonista/
pyppeteer(python版puppeteer)基本使用 05-14 02:47
https://www.cnblogs.com/baihuitestsoftware/p/10531462.html
pyppeteer:比 selenium 更高效的爬虫利器
https://blog.csdn.net/freeking101/article/details/93331204
python细讲
https://www.cnblogs.com/pythonywy/p/10862343.html
Python3用多线程替代for循环提升程序运行速度
https://www.cnblogs.com/LanTianYou/p/11498525.html?tdsourcetag=s_pctim_aiomsg
详解Puppeteer前端自动化测试实践
https://www.jianshu.com/p/925604f0aac5
puppeteer爬虫
https://segmentfault.com/a/1190000019632224?utm_source=tag-newest
https://github.com/LandGrey/pydictor
pyhton (for in if)用法
https://blog.csdn.net/qq_34806812/article/details/82019683
1.不要把自己的经历和他人比较 05-21 10:11
2.如果对方谈论失去家人,不要顺势开始说你家人的事
3.如果对方谈论多么讨厌自己的工作,不要顺势说你自己有多么讨厌你的工作
交谈不是用来推销自己的
睡眠是你的超能力 https://www.bilibili.com/video/bv1uC4y1s75D/?spm_id_from=333.788.b_636f6d6d656e74.12
肢体语言塑造你自己 https://www.bilibili.com/video/bv1ZJ411W7tJ/?spm_id_from=333.788.b_636f6d6d656e74.13
如何掌控你自己的自由时间 https://www.bilibili.com/video/bv1VE41147R3/?spm_id_from=333.788.b_636f6d6d656e74.14
Thomas Frank习惯追踪养成法 https://www.bilibili.com/video/bv1k7411a7Ey/?spm_id_from=333.788.b_636f6d6d656e74.15
在闲暇时间里如何关掉与工作相关的想法 https://www.bilibili.com/video/bv1c7411p7sE/?spm_id_from=333.788.b_636f6d6d656e74.16
哈佛幸福课 https://www.bilibili.com/video/bv1kx411S7ZU/?spm_id_from=333.788.b_636f6d6d656e74.17
如何成为一个更好的交谈者 https://www.bilibili.com/video/bv1zK41157gA/?spm_id_from=333.788.b_636f6d6d656e74.18
书单:
《斯坦福高效睡眠法》
《掌控:开启不疲惫、不焦虑的人生》
《把时间当朋友》
《终身成长》
《简单逻辑学》
《思考:快与慢》
《拖拉一点也无妨》
《你的生存本能正在杀死你》
《认同自己:如何超越与生俱来的弱点》
《非暴力沟通》
《态度改变与社会影响》
airpods pro真假对比 05-24 06:37
黑色耳膜鼓起 √(有孔)
黑色耳膜平整 ×
盒盖略微松 √
盒盖松动明显 ×
/*********************************/
耳机按钮切换通透/降噪 √
按钮不能切换通透/降噪 ×
/************************************************/
/============================/
盖子合页直 √
盖子合页圆 ×
/==============================/
指示灯不亮灰色 √
指示灯不亮黑色 ×
贴合度测试迅速 √
贴合度测试超慢 ×
正版的首次连接都不用按键,而且连上了自动改名
切换通透或降噪耳机会有doon声,切换降噪效果明显
/#################################/
充电仓 - 耳机 - 发票序列号三码合一
盗版耳塞是圆的,正品是类椭圆
正品充电接口不锈钢钢圈
高仿充电接口铝合金
耳机柄力按压器和i8p的home键类似,需要用力按压有声音反馈 √
高仿像触摸不用力就有反应,按键不灵敏 ×
高仿连接不同步 提示音先后响
AirPods 为了实现自动人耳检测功能,在耳机上设计了距离检测装置,使用 iPhone 摄像头拍摄时可以看到有白色或者紫的闪光,肉眼无法看到,而山寨产品则没有这样的设计。
用手堵住外面的小黑条,声音有变化就是真的,假的几乎没变化。因为那个小黑条是用来平衡气压的,假的是用来装饰的
1.查序列号三码合一2.关于本机能找到airpodspro3.外观真airpodspro那个出声口是椭圆的,假的是圆的4.有苹果手机的话,连上,那个音量状态图标是airpodspro特有的5.真airpodspro耳边控制键是按压的,不是触摸的6.试试降噪模式和通透模式,体验一下,差别很大,这个最有效,感觉一下降噪模式,直接世界安静。
真AirPods Pro 充电盒充电接头(左)是起用磨砂质感的物料,因此看来会较暗淡,有别山寨版(右)起用光亮质感的的物料制作。
https://support.apple.com/zh-cn/HT209580
mofcomp.exe "C:\Program Files (x86)\Microsoft SQL Server\110\Shared\sqlmgmproviderxpsp2up.mof"
我是这样解决的,以管理员身份运行命令提示符 执行命令
bcdedit /set hypervisorlaunchtype off
重启,运行vm即可。
如果想要恢复hyper启动
bcdedit / set hypervisorlaunchtype auto
Fiddler(一) – Fiddler简介
https://blog.csdn.net/ohmygirl/article/details/17855031
https://blog.csdn.net/ohmygirl/article/details/17849983
https://blog.csdn.net/ohmygirl/article/details/17849983
NTP放大攻击python脚本
https://blog.hackroad.com/operations-engineer/crack-hack/12018.html
局域同步盘
https://www.v2ex.com/t/622575
js学习记录 06-08 11:57
变量命名 https://zh.javascript.info/variables#variable-naming
JavaScript 的变量命名有两个限制:
-
变量名称必须仅包含字母,数字,符号
$
和_
。 -
首字符必须非数字。
js在方括号 [...]
前不会添加一个隐式的分号。
不支持注释嵌套!
var
与 let/const
有两个主要的区别:
-
var
声明的变量没有块级作用域,它们的最小作用域就是函数级作用域。 -
var
变量声明在函数开头就会被处理(脚本启动对应全局变量)。
https://blog.csdn.net/qq_31064397/article/details/89928453
物联网RFID-编码与调制 http://www.wendangku.net/doc/b7d650f9d3f34693daef5ef7ba0d4a7302766cdd-38.html 06-13 14:28
RFID复习笔记(5)——编码与调制
https://blog.csdn.net/weixin_43830248/article/details/89815331
第五章 RFID系统的编码、调制与解调PPT
https://wenku.baidu.com/view/fafd9da41711cc7930b716cd.html#toolbar
真正的幽默,最高的境界就是自嘲,只嘲别人不嘲自己是尖酸刻薄 06-19 10:40
写入文件unicode转中文问题 (1)
如果在未转义的情况下用字典写入txt文件中文会变成unicode
转换可以使用
json.dumps(dic, ensure_ascii=False)
写入文件时
(=)f:f.write(js) f.close()
java jdk文件 https://adoptopenjdk.net/releases.html?variant=openjdk14&jvmVariant=hotspot#x64_win
python程序打包成exe文件遇到的问题
我是使用cx_freeze模块进行打包,但是打包好后发现运行程序报错,如下图:
接着就是百度,有说更改qt.conf文件,但是我是用Anaconda平台,又有人说复制其他文件夹可以,接着找路径,发现在Anaconda3 / Library / plugins / platforms,然后把platforms文件整个复制到exe文件目录,再次运行,成功!
扩展库
AutoTouch内置了一些扩展库,您也可以自己添加扩展库,只需将.so文件放在/usr/local/lib/lua/5.3和.lua上即可/var/mobile/Library/AutoTouch/Library/LuaLibraries。
注意力放在: 不使用脚本文件名相同库的名字,比如lcurl,lfs,lsqlite3。
要远程启动:
curl http://{ip_of_phone}:8080/control/start_playing?path={path_to_script}
要实时查看日志:
ssh root@{ip_of_phone} "tail -f /private/var/mobile/Library/AutoTouch/Library/log.txt"
要远程停止:
curl http://{ip_of_phone}:8080/control/stop_playing?path={path_to_script}
1.所有圆形的周长与直径相除得到Π 08-06 09:59
2.虚数定义:i^2 = (-1) https://blog.csdn.net/FnqTyr45/article/details/90555941
3.重力加速度9.82m/s
4.六边形是最坚固及节省的形状
5.群体智慧大于个体智慧
6.大城市比小城市的所有增加15%以上(生活及其他)