- 博客(47)
- 资源 (2)
- 收藏
- 关注

原创 GO+Selenium批量关注各大网站实战 1 (基础+demo)
selenium相信大家都不陌生,从最开始的selenium core到现在的RC,利用selenium能干的事情也越来越多。也用go+selenium写了一些小工具,测试了一下各大网站关注好友的接口~这里先介绍下用到的库:https://github.com/tebeka/selenium接下来可以试试先运行提供的example:作者提供的example是在linux下...
2018-11-13 13:46:40
8301
15
原创 python实现华为推送, 从读文档到封装接口,0到1实现
之前安卓手机基本上都是接入极光推送。最近几年,各大手机商都搞了自己的推送接口,比如华为,小米。这里分享下python实现的华为推送,开发文档。1. 封装HuaWeiPusher类,这里把SecretKey和APPID直接写死了,应该写到配置文件里的,偷个懒。import requestsimport datetime, time,jsonfrom urllib.parse im...
2019-07-03 16:16:00
2158
2
原创 golang实现轻量级日志收集功能socket CS架构
目前小项目,在多个vps上都有日志。之前的做法是,mstsc到每个vps,查看log。非常麻烦。看了网上有些人的用ELK收集,又觉得那个部署太繁琐。所以想还是自己写一个轻量级的吧。思路就是:公网服务器跑一个server程序,监听某个socket端口。其他vps打开client程序,tail某个log文件,把最新的一行log,通过socket传到server端。1. server...
2019-07-01 14:19:26
2453
2
转载 pyinstaller 打包的程序执行出错:无法定位程序输入点 ucrtbase.terminate 于动态链接库 api-ms-win-crt-runtime-l1-1-0.dll
解决方法是,在需要运行的PC上安装:https://www.microsoft.com/en-us/download/confirmation.aspx?id=48145
2019-05-03 22:38:22
3652
5
原创 django实现PC网页通过微信扫码登录,只需要有个通过认证的微信公众号即可
微信扫描登录,正统的做法是通过微信开放平台,申请网页接入。由于自己已有一个认证过的微信公众号,所以尝试下能否通过公众号已有的接口做,结果证明是可以的。上步骤分享下吧:1. 访问“/login”路由,后台调用微信生成临时带参数的二维码接口,生成临时二维码传给前端网页,供用户扫描。url.py url('^login/$', LoginView.as_view(), n...
2019-04-19 13:57:47
5559
5
原创 python requests更换代理适用于IP频率限制
有些网址具有IP限制,比如同一个IP一天只能点赞一次。解决方法就是更换代理IP。从哪里获得成千上万的IP呢? 百度“http代理”可获得一大堆网站。比如某代理网站,1天6元,可以无限提取。把提取的IP,保存到txt文件中。写一个方法,读取文件,存入数组中def getProxysFromFile(): with open("proxy.txt", ...
2019-03-13 13:37:06
7055
9
原创 利用阿里云邮件推送免费发邮件,每天免费200封,速度快,还高大上
之前尝试过用python,golang写的通过qq邮箱发送邮件。用过后,感觉有几个问题:1. 不稳定,经常发不出去2. 速度慢,过了好几分钟才收到3. 不够档次,比如你一个公司,给用户发送注册邮件,人家一看是一个qq邮箱发来的,瞬间low掉渣。这里推荐用阿里云的邮件推送哈。以下分享下几个步骤:1. 注册阿里云账号,开通邮件推送。2. 准备一个域名,随便买一个就行,最低8...
2019-02-22 14:57:44
17288
9
原创 twilio python自动拨打电话,播放自定义mp3音频
有个小项目,需求是某事件发生时,给客户打电话,提醒客户。需要事先录制好一段音频,客户接通电话后,自动播放。这里用到了twilio:https://www.twilio.com ,分享下。1. 注册twilio账号2. 买一个电话号码3. 安装twiliopip install twilio4. trigger代码(给某个电话发送短信,或者打电话):from twi...
2019-02-18 14:49:43
7433
7
原创 django inlineformset_factory 内联model前端动态增删操作
用Todo来demo, 比如我们创建Todo表,首先有个topic,每个topic下面再挂着多个子item。效果:model.py:class Topic(models.Model): title = models.CharField(max_length=255) created_date = models.DateTimeField(default=timez...
2019-01-17 15:42:57
3560
2
原创 python+selenium实现脉脉网站爬取用户朋友圈,自动评论
这次尝试的网站是脉脉,实现的效果是,自动登录后,爬取“发现”页面返回的其他人发的状态。然后自动评论。评论的时候,先看看有没有最热评论,如果有最热评论,就复制内容,自己也发一条一样的。如果没有,就随便发,比如“支持下”。 1. 自动登录:这里就是用的selenium接口,找到用户号和密码的input框,自动填入后点击登录,如果自动登录失败,可以手动登录,然后控制台,回车下。 de...
2019-01-09 14:48:00
4289
9
原创 监控日本某卖衣服网站新品发布,第一时间邮件通知
网址:http://matenrow.net/17.html 需求是,当有新品发布时,能立即收到邮件提醒。因为抢单的人很少,所以只需要完成提醒就行。思路就是,利用python的requests库间隔10秒去获取下网页内容,检测商品列表中第一个商品的商品编号是否改变,如果改变就说明是新品,需要发送邮件。封装了下worker类,主要函数在check中:import reque...
2019-01-08 14:50:48
2380
8
原创 go语言实现邮件推送模块,已编译成exe可执行程序,开箱即用
邮件推送在任何一个软件项目中都是必须实现的模块。比如登录注册,广告推送,消息提醒等等。这里小coder分享一下go语言实现qq邮箱发送邮件功能。代码结构:main.go //author:一只小coderpackage mainimport ( "encoding/json" "fmt" "io/ioutil" "log" "net/smtp" "os&quo
2019-01-08 14:46:56
2340
6
原创 谷歌云ssh远程登录,centos初始化配置ssh,securecrt,winscp远程连接
走了很多坑,总是提示:The client has disconnected from the server.Reason:Unable to authenticate using any of the configured authentication methods. 总算找到了方法:1. 切换root用户: sudo -i 2. 设置root密码:passwd root...
2019-01-01 14:54:44
5163
10
原创 django中的单用户登录实现,通俗来讲就是,只能一个用户登录,后者踢掉前者
应用场景一看就懂,但是如何实现?得从django是使用什么认证方式区别实现。1. session认证通常是在网站中实现,思路就是用户新登录后,从记录session的数据库中删除之前的记录。.....login(request, user) #登录成功# 登录之后获取获取最新的session_keysession_key = request.session.session_key...
2018-12-30 22:36:53
7697
15
原创 django将网络中的图片,保存成model中的ImageField
有这样的情形,django个人头像在model中是:class UserProfile(AbstractUser): """ 用户 """ name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名") image = models.ImageField(...
2018-12-27 14:58:48
7410
9
原创 利用python pydub库切割mp3,跳过广告听有声小说就是爽
接上一篇,从爱书音下载了mp3,但是发现每一集开头35秒都是重复的片头介绍,太烦人了。所以利用python pydub切割一下。1.安装python第三方库pydubpip install pydub2.安装ffmpeg打开链接:https://ffmpeg.zeranoe.com/builds/ 选择适合自己电脑的版本 下载后,解压,进入bin目录,然后复制当前路...
2018-12-25 10:54:12
3453
7
原创 批量下载“爱书音”有声小说mp3
最近在听阿陈播的二号首长,非常过瘾,1~3部全听完了,发现后续还有高手过招。不过是在爱书音网页上。不过一共122集,于是想实现把这些的音频mp3都下载到手机上听。分析了下 :比如第18集,url是“https://www.ishuyin.com/player.php?mov_id=19248&look_id=18&player=down”打开每集的页面,中间有个...
2018-12-24 17:49:49
10860
4
原创 nginx黑名单和django限速,最简单的防恶意请求方法
django项目遭遇cc攻击,不要惊慌,这里推荐两招简单实用的技巧。项目Nginx作为http接入层,分发到django应用,启动10个uwsgi worker。今日突然发现,网页打开卡顿,打开server一看,cpu100%。 打开uwsgi的log,发现某一个IP进行了大量的请求,占用了worker。这里总结下两种解决方法:1.设置nginx黑名单vi bloc...
2018-12-01 22:46:01
2229
6
原创 GO+Selenium批量关注各大网站实战 3 (开发者头条号)
这次实战的网站是开发者头条。主要实现的功能有3个, 批量关注好友,批量收藏文章,批量订阅独家号。先看关注好友:网站用户的个人主页: 可以看出,地址路由采用的是最后的id递增。(这在网站开发中很普遍,我猜想这个id也正是他们数据库中的id)。这样的路由有个致命弱点,通过for循环,直接就能从头扫到尾。接下来分析,点击关注后,网络请求:对某个用户关注,只...
2018-11-22 14:02:40
1794
5
原创 GO+Selenium批量关注各大网站实战 2 (今日头条,批量关注)
作为第一个练习,我选择的是今日头条批量关注好友这个功能。今日头条每天关注量有200人限制,满了再点击关注,就会提示已达上限。所以我刷了几天,现在是4600个人~我们先来讲讲思路:1. 登录自己的头条号2. 打开头条号的粉丝列表页:3. 获取关注按钮,然后执行点击事件4. 由于列表初始化只会渲染出来20个人,加载更多,需要下拉滚动条到最底部,或者按键“END”...
2018-11-15 15:22:11
6687
11
原创 go语言扫描可用域名
最近想找点短的域名自己建站用,于是想自己扫扫有哪些短的(4位)的.com地址,分享一下几行代码:1. input: 域名 return: 可用/不可用func checkdoman(url string) (bool) { client := http.Client{} resp, err := client.Get("http://panda.www.net.cn/cgi-bin/...
2018-11-13 10:02:21
1716
9
原创 django多文件上传,form提交,多对多外键保存
需求:需要实现一个用户反馈的接口,用户通过接口提交:1.一段文字2. 一个log文件3. 多个图片 找了很多ModelForm,DRF-Serializer的资料,都没找到简单好用的,干脆就直接写,啥也不用。Model.pyclass UserFeedback(models.Model): user = models.ForeignKey(User, ve...
2018-10-22 14:48:06
4418
7
原创 docker django无法访问redis容器
docker-compose.yal文件中: redis: image: redis container_name: xdemo.redis ports: - 6379:6379 restart: alwaysdjango setting.py中配置redis:CACHES = { 'default': { 'B...
2018-10-11 11:13:18
1511
1
原创 给go生成的windows exe文件添加icon图标
1. go get github.com/akavel/rsrc2. 创建manifest文件, 命名:main.exe.manifest :<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" man...
2018-10-09 16:20:37
8836
6
原创 golang 读取和保存配置文件
保存:type Config struct { Last_uid int64 Last_sid int64}configPath := "./config.json"func SaveConfig(config *Config){ data,err:=json.Marshal(config) if err!=nil{ log.Fatal(err) } err=io...
2018-10-09 14:27:14
3020
1
原创 通过Redis队列,实现django(python)和Go之间通信
go语言写web感觉还是没有django写web那么得心应手,不过利用go的goroute做一些小组件还是很不错的。django如果需要执行异步任务的话,可以将任务存入Redis队列,然后通过Go写的程序从Redis队列中取出任务,异步执行。比如发送邮件。做了下简单测试,以下代码是能够实现通信的:python端:import redis,jsonpool=redis.Co...
2018-09-19 14:45:27
1713
1
原创 Go语言150行代码搞定苹果Apns高并发推送
苹果消息推送Apns是每个apple app必须面对的坎。目前捣腾的小项目需要定时向所有用户推送消息。之前使用python第三方库pyapns实现,结果运行一段时间发现内存消耗很高,而且推送不稳定,经常手机收不到消息。于是尝试用GO语言单独写个循环推送的小程序。主要流程就是:定时(每隔2~4分钟),遍历所有的用户apple token,推送消息。这里分享下代码:1.实现数据库查询出所有...
2018-09-19 14:25:07
3880
2
原创 python requests, py2exe打包后无法爬取https
最近出现一个很诡异的问题,在pycharm中爬取https很正常,但是打包成exe后,就无法运行。找了半天,最后解决方法是:html=s.request('GET',link,verify=False).content关闭验证。添加:verify=False 即可。 ...
2018-08-26 07:31:06
894
原创 每日一句功能简单实现
每天自动获取最新一条。封装了下代码:def get_today_word(): today = datetime.date.today() word=Word.objects.filter(add_time__year=today.year, add_time__month=today.month, ...
2018-08-15 11:34:31
5383
2
原创 python配置苹果推送服务器pyapns
这里总结下配置苹果推送服务器的过程:1. 安装apn 这里千万不要用pip安装 pip install apns错误如下:pypi 自动安装的包有问题,import的时候就会报错。Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32Type "he...
2018-08-15 11:27:28
1724
1
原创 python django打造自己的喜马拉雅 3(主页前端+数据库)
Django Model设计:先设计两张表,一张用来存储专辑(专辑名,封面图,专辑id,添加时间),另外一张存储专辑下每一集的信息(所属的专辑,序号,trackid,音频地址,添加时间)class XimalayaMediaAlbum(models.Model): """ 喜马拉雅专辑 """ name = models.CharField(max_length=5...
2018-06-21 17:37:02
1182
原创 python django打造自己的喜马拉雅 2(分析喜马拉雅接口)
背景和实现功能,参考上集介绍分析喜马拉雅接口:打开浏览器调试窗口,找了半天,也没找到html中的audio标签,看来喜马拉雅没有用html5默认的音频播放器。终于在network窗口,发现了音频请求接口。接口1. 通过“trackid” 获取音频的地址。比如说第1集,trackid是1155622.返回的是音频的具体信息,格式为json:只要我们知道的每一集(index)的trackid,就能通过...
2018-06-21 17:29:04
4201
原创 python django打造自己的喜马拉雅 1(背景和功能介绍)
背景:最近在听喜马拉雅有声书"侯卫东官场笔记"。故事很吸引人,阿陈播音也非常到位。只是有一个痛点:每一集开头有长达40秒的片头介绍,声音非常大,而且每一集都重复。晚上躺在床上听的时候,经常被这个片头震得耳朵疼,睡意全无。That's it忍无可忍,决定自己动手,通过django实现了一个属于自己的喜马拉雅,解决了这个痛点。先看看效果吧:网站:http://xiao-demo.cn/listen/首...
2018-06-21 17:14:50
1115
2
原创 django xadmin 二级联动
xadmin的二级联动,这个问题困扰很久了,在网上也一直找不到任何文档。偶然机会想到了一个思路:1. 绑定1级select的change事件,获取当前选中的选项value.2. 触发ajax去获取过滤后的二级数据.3. 将获取到的二级数据填充到二级select的option中 (必须使用selectize)接下来分布贴代码。。。。1. 绑定1级select的change事件,必须植入我们自己写的...
2018-04-13 18:27:05
3950
原创 textarea实时统计输入单词个数
1. 效果如下:2. html:word count:03. js:function wordStatic(input) { var text = $(input).val(); text = text.replace(/\r\n/g, " ") text = text.replace(/\n/g, " "); var arr = text.split(" "
2018-01-19 09:54:29
1384
1
原创 django 自定义filter 判断if var in list
1. 需求:用户答题练习,当用户获取所有题目的同时,需要判断用户是否已经做过该题目,如果做过,需要render的时候添加一个“回顾”按钮。2. 实现a. 查询用户做过题目的id finished_objs=UserSpeaking.objects.filter(user=request.user) finished_ids=[ obj.
2018-01-08 16:42:22
2180
原创 django 配置阿里云OSS存储media文件
解决方法:1. 下载源码 django-aliyun-oss2-storage-0.1.5.tar.gz 地址: https://github.com/xiewenya/django-aliyun-oss2-storage2. 解压进入解压后的文件夹3. 打开README.md 删除所有内容4. 安装python setup.py install
2017-12-06 10:19:32
8251
7
原创 python实现优快云下载资源自动评分(selenium+requests)
优快云下载资源需要下载积分,评论已经下载过的资源,可以获得1分返现. 自己之前下载过50多个资源, 但是不想手动一个个去评分+评论。所以想写个小程序,自动完成50多个资源的评论.
2016-12-24 12:30:35
2555
2
原创 gcc,gdb 个人笔记
gcc: -c : just compile don't link-o: -o2: gcc -g -o2 hello.c -o hello-l-L-Wall : display the warnin while compiling静态编译gcc -static -ogcc -shared -o hishared main.c -L. -lmyhi
2014-07-18 08:36:32
917
原创 python 学习 training 个人笔记
2014年7月9日 09:23:59python 优点:处理文件快based on python R2.7.5www.python.orgreadability counts更多处理字符串类型安装 uhuntu: apt-get install pythoncentos: yum install python
2014-07-09 15:27:53
1033
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人