自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用chatgpt api快速分析pdf

使用chatgpt辅助分析pdf,以及其他大文本

2024-06-04 20:24:38 657 1

原创 Git 不能提交空目录?我也是醉了

背景最近在提交文件时,有个空的tmp目录没有进git,但是我并没有在gitignore 里排除它,用 git status 查看状态也没有发现异常。解决方案最主流的做法是,在空目录下创建 .gitkeep 或者 .keep 空文件,或者 .gitignore 文件,这只是一个约定俗成的空目录识别文件名,其实除了占位识别空目录,其他并没什么卵用。另外如果某些文件已经被git跟踪了,即使改.ignore也不会生效,比如删除老项目的.idea需要在改ignore文件之后运行git rm -r --cac

2022-05-26 14:29:29 2349

原创 python multiprocessing多进程在不同系统的执行差异

参考文档https://docs.python.org/3/library/multiprocessing.html 。官方文档上的解释:spawn:(mac&windows)父进程启动一个新的 python 解释器进程。子进程将仅继承运行进程对象run()方法所需的那些资源。特别是,不会继承父进程中不必要的文件描述符和句柄。与使用fork或forkserver相比,使用此方法启动进程相当慢。在 Unix 和 Windows 上可用。Windows 和 macOS 上的默认设置。fork

2022-03-02 11:00:48 824

原创 python实现免费同声传译 (离线语音识别+免费翻译接口+系统声音录制)

python 实现实时字幕生成

2022-03-01 16:18:22 7967 2

原创 网络爬虫最终方案:chrome插件

最近因为已经提离职了所以比较空,这里分享一下我的一个针对js反爬的最终方案。爬虫的核心:爬虫的核心就是模拟正常用户访问。最低级的反爬虫会检测一些诸如referer,cookie之类的use-agent字段,这种只需要用curl命令一个个删除参数就能知道它所需要的最少的字段信息是哪些了。然后是再高级点,弄出一些很麻烦的js脚本,比如cloudfront以前的5s跳转脚本,这种如果能运行js脚本也能获取到目标参数。然后是一些请求参数特别复杂的,比如fb的网页搜索,他的数据是用过异步请求过来的,不在源码里

2022-02-25 15:59:23 1827 3

原创 python使用spacy做关键词提取

这是一个最简单的例子,对一篇英文文章提取关键词,不涉及词性分析等。# -*- coding: utf-8 -*-# @Author : meng_zhihao# @Email : 312141830@qq.com# @File : text-rank.pyimport spacyimport pytextrank # 这行要加# load a spaCy model, depending on language, scale, etc.# python -m spacy do

2022-02-18 12:05:34 2792 1

原创 又一次换工作了

我感觉我真的是不擅长面试。有些问题平时明明都会的,但是到面试的时候就是因为回答得太急搞的记浑了。或者也是因为平时做的事情太杂也有关系吧,创业公司呆久了啥都会一些,但是搁一起就全乱了。再说说别的吧,最近想明白了一些事情,为什么有些很水的人却能找挺好的工作,因为有多少能力和能表现出多少是两码事,尽管以前干的几家公司里我都表现得很不错,但是跑路了别人就压根不知道了,但是不跑也不行,因为公司本身没前途了。所以平台真的很重要,平台不行,干的再好最后也是白干。吐槽下现在呆的这公司的AI开发,一年多做下来做的是啥玩意

2022-02-18 11:59:57 444

原创 mac安装及配置jenkins

一 、 首先使用homebrew安装jenkinsbrew install jenkins-lts二、 启动jenkins(默认8080端口)brew services start jenkins-lts三、打开浏览器localhost:8080第一次进入需要从本地文件中复制密码填入看到的浏览器页面。安装推荐的插件。(后面再装也行)经验总结:装东西不要依赖百度,因为版本,环境差异就不一样了,应该直接参考官网!...

2022-02-11 16:00:54 1380

原创 随笔 程序的价值在哪里

我们程序员到底是在做什么。我觉得主要是两件事,一个是给别人节约时间,另一件事是做一些人做不到的事情。而第一件事情做的好不好一个是看到底给多少人节约了多少时间,另一方面是看这些人的时间值不值钱。...

2022-02-09 17:42:03 372

原创 自动化测试 selenium还是puppeteer?

首先这两种自动化控制浏览器的模块我都用过,因为我用的是python操作,所以用的是pyppeteer库。首先,对于基础操作来说,比如输密码登录,点击各种元素之类,selenium和puppeteer都能满足环境上来说,selenium能支持更多的浏览器,puppeteer貌似只支持chrome?部署上来说,selenium需要自己下载目前chrome浏览器对应版本的chromedriver,puppteer可以自己下载chrome开发版本,这个是puppteer稍微方便一点。如果你是想处理某些坑爹的

2021-12-07 15:33:24 2792

原创 短视频机器人声音怎么做?

如何下载谷歌翻译声音文件?我们在听短视频的时候经常会听到有些视频里用的不是真人配音,而是机器人的发音,其中用的最多的就是谷歌翻译的语音。对比百度翻译,谷歌翻译的语音听上去感觉更接近真人。然而,在百度搜索如何下载谷歌语音时我发现,那些排前面的办法,都说是要从网络流里抓媒体文件,然而经过本人测试,现在的谷歌翻译压根就没有媒体流文件了,也就是说,老的办法都已经失效了。最后我找到了一个专门下载谷歌翻译音频文件的python库,使用方法如下,from gtts import gTTStts = gTTS('

2021-11-24 11:39:36 3107

原创 视频在线剪辑及格式转换

功能描述利用最新的web浏览器技术实现本地视频的在线剪辑,且不需要上传视频到服务器。原理利用浏览器自身的处理能力对本地视频进行处理,网站仅提供处理的逻辑代码。优势节省了原视频的上传以及处理结果的下载时间。减少了用户的等待时间。处理环节不经过服务器,提高了安全性。...

2021-10-11 19:50:14 412

原创 ffmpeg编译为webassembly

webassembly介绍WebAssembly(缩写为 wasm)是一种使用非 JavaScript 代码,并使其在浏览器中运行的方法。这些代码可以是 C、C++ 或 Rust 等。它们会被编译进你的浏览器,在你的 CPU 上以接近原生的速度运行。这些代码的形式是二进制文件,你可以直接在 JavaScript 中将它们当作模块来用。webassembly环境安装(mac)ffmpeg编译成wasm...

2021-09-01 17:37:29 1587 8

原创 如何用手机看电脑上的视频和字幕

需求来源

2021-08-18 14:26:56 3196

原创 mac 安装ffmpeg以及各种编码器

#首先安装各种编码器brew install automake fdk-aac git lame libass libtool libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm#如果有安装过的,需要更新(比如我在安装中发现以下几个依赖在我安装老版本的ffmpeg的时候安装过了,但是需要更新,否则后面运行ffmpeg会报错)brew upgrade x265 libvpx libtool automake

2021-05-06 09:34:07 753

原创 不同哈希加密算法安全分析及python实现

前言哈希算法有时也被称作摘要算法,目的是将数据不可逆得转成一串固定长度的字符串。常用作密码保护等场景,如果我们只能拿到哈希计算之后的字符串,我们无法简单得推出他的原文。目前来说,常用哈希算法有MD5、SHA1、SHA256、SHA512、SHA3等。安全性目单纯的md5和sha1已经不推荐用于加密场合了,因为使用的实在太频繁了。所以通过暴力破解(如彩虹表都可以破解出很大一部分密码了)比特币目前用的是sha256算法建议使用 PBKDF2, Argon2, Scrypt, Bcrypt 等方法 ,

2021-04-13 14:51:56 524

原创 tensorflow分类实践:按场景拆分视频

背景虽然两年前看过一下下tensorflow的基础介绍,然而当时的感觉是这玩意怎么安装起来就辣么麻烦,而且到底怎么用也是一脸懵逼。最近又看了看tensorflow官方文档,结果惊喜地发现现在tensorflow比以前好入门太多了。于是决定用一个最近想到的需求对着官方文档边学边做。基本上我是从零学习,所以大佬勿喷。。需求描述通常一个视频都是由多个场景衔接而成的,市面上也有各种软件支持自动将一个视频按场景切换切割成一段段的小视频。一般的算法都是基于前后两帧色彩和亮度的突然变化来识别场景切换。但是我打算用

2021-03-10 18:55:38 493 1

原创 mac配置ffmpeg环境变量

新版的mac系统默认使用zsh终端(echo $SHELL 查看)。所以配置环境变量要改的是**.zshrc**文件,而非网上一些文章说的.bash_profile。具体修改方法:cd open .zshrc在打开的文件末尾中增加 export PATH=/usr/local/ffmpeg/bin:$PATH路径改成你自己的ffmpeg bin目录路径...

2021-02-22 15:46:40 2272 4

原创 QT 组件不自动刷新,需要手动点击之后才刷新

环境版本pyqt5问题描述程序中用到了QTimeEdit时间控件已经setDateTime成功了,但是每次都要点击一下组件才会刷新显示。解决方法调用组件的repaint()方法即可刷新

2020-11-03 15:46:03 1850

原创 在线录制视频声音,纯前端实现,无需上传和下载

背景现在歌曲的版权原来越严格了,歌单里好多歌都找不到资源了。但是找视频却容易很多。所以我不禁想整一个在线录制声音的玩意。经过了极长时间的折腾,我终于找到了一个靠谱的方案。下面细说俺心酸的折腾历程媒体文件编码以前一直搞不懂mp3,mp4,webm都是个啥,以为这些就是对应文件的编码格式。但是最近的折腾让我搞明白了这丫就是个后缀名。具体编码通常是mp4对应h264,h265压缩编码,webm对应谷歌的vp8,vp9压缩。而我们通常听的音乐是MP3格式压缩的。在线转码 VS 后台转码后台转码是目前大部分

2020-09-03 16:15:42 644 1

原创 python自定义库打包到PYPI+爬虫工具类分享

官方教程python自定义库打包,按教程一步步做就可以了,不过我这里希望打包的是一个单文件,所以需要修改下setup.py 里的py_modules# -*- coding: utf-8 -*-# @Time : 2020/8/31 18:19# @Author : meng_zhihao# @Email : 312141830@qq.com# @File : setup.pyimport setuptoolswith open("README.md", "r") as

2020-09-01 11:24:13 376

原创 etree xpath处理中文乱码问题解决

不知道为啥突然碰到一个页面etree xpath获取到的中文是乱码。最后靠加HTMLParser参数搞定。代码如下 @staticmethod def getXpath(xpath, content): hparser = etree.HTMLParser(encoding='utf-8') tree = etree.HTML(content,hparser) out = [] results = tree.xpath(x

2020-08-31 10:40:56 2309 2

原创 Python剔除html中的乱码字符

有时候网页会包含乱码导致xpath解析失败,百度或者谷歌了好久也没发现解决方法,最后只好自己写了一个替换方法,利用报错信息中的position剔除相应的数据。方法如下def remove_error_code(byte_string,charset): for try_times in range(10): try: result = byte_string.decode(charset) break except.

2020-08-14 16:40:54 289

原创 IDEA导出 jar文件 运行不了,no main manifest attribute

今天被这个错误折腾了好半天,最后终于查到了产生原因是:MANIFEST.MF的路径默认是 src/main/java/META_INF/而 idea 需要确保MANIFEST.MF的路劲在src/main/resources/META_INF/下,才会把正确的MANIFEST.MF复制到jar中...

2020-07-08 15:16:00 878

原创 使用docker技术快速搭建linux下的运行环境

需求背景有时候我们需要给别人在服务器上装东西,根据经验,装一次服务器要花至少半个小时,而且很多时候因为系统不一致等情况导致安装依赖之类的问题会很麻烦。因此,我决定尝试用docker来制作一个统一的镜像。以前虽然就学习过docker技术,但是没有实际使用过,感觉适用于需要安装很多机器的情况,所以一开始并用不上,毕竟多了一层之后诸如文件同步之类的情况没有那么方便。这里边复习边整理。docker安装docker安装和系统版本有关Ubuntu安装命令如下curl -fsSL https://get.

2020-07-08 10:01:08 401

原创 红黑树到底是啥

对比平衡二叉树(所有节点的左右子树高度差不超过1)。不管我们是执行插入还是删除操作,只要不满足上面的条件,就要通过旋转来保持平衡,而旋转非常耗时的。每个节点非红即黑根节点是黑的;每个叶节点(叶节点即树尾端NULL指针或NULL节点)都是黑的;如图所示,如果一个节点是红的,那么它的两儿子都是黑的;(黑色节点可以连续!但是数量差距需要用红色的来丑)对于任意节点而言,其到叶子点树NULL指针的每条路径都包含相同数目的黑节点;(不然只能旋转替换连接)每条路径都包含相同的黑节点; 弱平衡关键通过对任

2020-05-29 10:03:40 196

原创 小白的网站seo经验

对于一个网站来说,做的好不好不是最重要的,重要的是有没有人看。

2020-05-26 16:19:01 782

原创 TCP三次握手,TCP/IP数据包大小

名词解释SYN:同步序列编号(Synchronize Sequence Numbers)是TCP连接的第一个包,在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应ACK: (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。SEQ是数据包序号SEQ是数据包本身的序列号;ACK是期望对方继续发送的那个数据包的

2020-05-26 15:00:38 3129

原创 python3 将pdf文件转为text

前言pdf文件尽管可以用python提取文本,但存在加密的情况,那种pdf就是解析不了的。另外pdf更类似于图片,所以即使可以用python提取,结果也容易有问题。所以效果不敢保证。依赖在python3中解析pdf一般用pdfminer3k,就是pdfminer的python3版本。直接pip安装即可pip install pdfminer3k代码示例# -*- encoding:utf-8 -*-import importlibimport sysimport time# 提取表格

2020-05-12 11:32:23 584

原创 python计算一元线性回归拟合方程

# 导入sklearn库下的linear_model类from sklearn import linear_model# 一元线性回归# 转化自变量数据为矩阵x = [[6], [8], [10], [14], [18]]y = [[7], [9], [13], [17.5], [18]] # 现在只能用二元矩阵# print(x)# print(y)# 调用线性回归函数c...

2020-04-29 15:35:31 3695 3

原创 python借助sklearn库对视频自动分类

任务背景存在一堆视频,每个视频有多个标签tag,如预告、电影、加勒比海盗、ted之类,然后需要根据tag对视频进行自动分类。(有一些历史数据作为测试和训练集)。 这个模型可以拓展成文章分类,只需要把tag改为根据词频统计的词组就行了。选用方案  由于以前用过sklearn,所以直接用sklearn作为分类工具。用法很简单,定义一个由特征提取和分类器组合成的Pipeline...

2020-04-24 12:05:02 882 1

原创 unicode gbk utf8 utf16编码整理

今天一个编码的问题纠结了我好久,京东商品详情页中的skuname是这样的:’\u934b\u56ec\ue56b\u701b\u612f\u2016\u741b\ue0a2\u30b3\u9427\u70ac\u60cc\u7441\u5474\u30b0\u741b\uff49\ue56b\u6d93\ue045\u0443\u76ac\u6966\u71b7\u57e1\u7f01\uff45...

2020-04-24 00:04:33 1440

原创 英文词库构建

以前做的功能,想想可能会对有需要的人有帮助,所以就分享下方案。词库来源从linux自带的可安装词库中选了最大的american-huge作为词库,补充了一些零碎的词库。最后获取到了31w词的样子。翻译采用了有道的接口,免费账户的钱也差不多够了。txt格式文件见附件。...

2020-04-14 10:12:08 705

原创 安装配置FTP服务器

sudo yum -y install vsftpd sudo systemctl enable vsftpd 开机启动开放防火墙firewall-cmd --zone=public --add-port=21/tcp --permanentfirewall-cmd --permanent --zone=public --add-service=ftpfirewall-cmd --rel...

2020-03-10 17:53:24 221

原创 centos安装supervisor报错 refused connection

一开始报错 nofile,然后手动建立对应的sock文件报refused connection。按网上说的各种方法都试了没用。问题应该是执行supervisord -c /etc/supervisord.conf 没有自动建立对应的socket文件。最后解决方法sudo yum remove supervisorsudo yum install -y supervisor重新安装supe...

2020-03-02 14:48:47 849

原创 淘宝SDK python3版本兼容

官方给的api没有python3版本。。。自己根据python2的一步步改错误改了过来。主要是top.api.base.py要修改,有好些语法不一样了。代码如下。# -*- coding: utf-8 -*-'''Created on 2012-7-3@author: lihao'''try: import httplibexcept ImportError: impor...

2020-02-20 22:05:12 1099

原创 腾讯语音识别 python3

腾讯的sdk文档是真的坑,官方给的例子都能跑不动的。安卓语音识别的sdk居然不给源码,反编译了改了参数才生效。下面是python的语音识别例子,在官方基础上修复了一下,需要安装官方sdk# -*- coding:utf-8 -*-import jsonfrom urllib import requestfrom tencentcloud.common import credential...

2020-02-13 15:39:20 771 1

原创 使用地图API获取某地周边poi坐标

测试了百度地图和腾讯地图的api。百度地图没有开放周边地图的web调用接口。所以最后只能用腾讯地图api实现。参考代码如下# -*- coding: utf-8 -*-"""File Name: gaode_dituDescription :Author : meng_zhihaomail : 312141830@qq.comdate: ...

2019-12-10 15:52:19 797

原创 python使用mitmproxy中间人代理傻瓜版

以前曾经用过mitmproxy做中间人代理来做淘宝登陆,但是代码一下子找不到了,于是百度了使用方法,发现完全不如当初自己用的那个简单。各种命令行什么的。所以在这里分享一下曾经找到的最简单的使用方法,纯python脚本,不需要任何命令行操作。业务逻辑在response;里修改,# coding=utf-8from pprint import pprintfrom mitmproxy imp...

2019-11-01 15:18:35 2679

原创 python windows的一些坑

首先,绝对不能用记事本编辑!用记事本会被插入特殊符号。解决方法content = open('main.conf',encoding='gbk').read()#Window下用记事本打开配置文件并修改保存后,编码为UNICODE或UTF-8的文件的文件头#会被相应的加上\xff\xfe(\xff\xfe)或\xef\xbb\xbf,然后再传递给ConfigParser解析的时候会出错 所...

2019-10-23 14:58:53 238

words_chinese.txt

英文31w词库资源,带中文翻译。词库来源linux词库 huge-america。

2020-04-14

英文单词词库 34w词 包含各种时态变形

linux系统自带的词库文件。用于拼写检查,创建自己的词库。以文本形式打开。 words is a standard file on Unix and Unix-like operating systems, and is simply a newline-delimited list of dictionary words. It is used, for instance, by spell-checking programs. The words file is usually stored in /usr/share/dict/words or /usr/dict/words.

2020-01-19

tongxunlu.exe

python脚本的简单打包。脚本源码见博客正文。方便没有py环境的人直接使用

2019-09-19

chrome多开器.zip

自己开发的chrome多开器,用来处理同时登陆多个网站账号的情况。比如需要同时运营多个店铺,又不想反复切换账号的需求。 小工具而已,下载即可使用

2019-05-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除