首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
14,431 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,698 阅读
3
gradle-5.4.1-all.zip下载
9,694 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
8,268 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
7,084 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
619
篇文章
累计收到
632
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
619
篇与
的结果
2020-06-02
用python代码扫码登陆QQ空间获取Cookie值,QQ登陆协议,python模拟登陆QQ
前几天研究了下QQ群的几个接口,但是最后面都需要手动输入Cookie才可以运行,然后今天又研究了一下QQ空间的登陆接口,然后就有了下面这些代码,最终的返回值是登录成功的Cookie值。需要手动打开目录下的qrcode.png然后进行扫码。 import re import time from random import random import requests def hash33(t): e = 0 for i in range(len(t)): e += (e << 5) + ord(t[i]) return 2147483647 & e def login(): ss = requests.session() url = 'https://ssl.ptlogin2.qq.com/ptqrshow?appid=549000912&e=2&l=M&s=3&d=72&v=4&t=' + str( '0.' + str(int(random() * 10000000000000000))) response = ss.get(url=url) with open('qrcode.png', 'wb') as f: f.write(response.content) cookie = response.cookies headers = requests.utils.dict_from_cookiejar(cookie) print(headers) while True: url = f'https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html' f'%3Fpara%3Dizone%26from%3Diqq&ptqr' f'token={hash33(headers["qrsig"])}&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0' f'-1542784335061&js_ver=10289&js_type=1&login_sig=hn6ZiMZRPT8LWFsFG3MrScznzLVrdbwS9EIo-ihAmeD' f'*YmOfqP3uoI6JytVVQYw2&pt_uistyle=40&aid=549000912&daid=5& ' html = ss.get(url=url, headers=headers) type = re.findall('[u4e00-u9fa5]+', html.text)[0] if type == '二维码未失效': print(type) elif type == '二维码认证中': print(type) elif type == '登录成功': print(type) return html.cookies else: print("二维码已失效,请重新扫码!") login() time.sleep(2) if __name__ == '__main__': print(login())
2020年06月02日
3,066 阅读
7 评论
0 点赞
2020-06-02
Python实现Hash33加密算法
今天在研究QQ登陆的时候又发现一个值是和上次bkn加密方式有点像的,然后这次似乎看到了名字Hash33然后这里就做一个笔记吧,说不定下次还有用。def hash33(t): e = 0 for i in range(len(t)): e += (e << 5) + ord(t[i]) return 2147483647 & e
2020年06月02日
2,017 阅读
0 评论
0 点赞
2020-06-01
自动获取群员名称并用群员名称生成词云图,生成QQ好友列表昵称词云图
利用昨天的QQ群获取的bkn值来获取指定QQ群的群员昵称,然后生成词云图,也可以根据自己的好友列表的昵称生成词云图。这个就直接上代码了:import re import requests from matplotlib import pyplot as plt from wordcloud import WordCloud # 根据skey获取bkn值 def get_bkn(skey): e = skey t = 5381 n = 0 o = len(e) # www.lanol.cn By:Lan while n < o: t += (t << 5) + ord(e[n]) n += 1 return t & 2147483647 # 获取好友列表昵称 def getfriendlist(bkn): url = 'https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list' data = { 'bkn': bkn, } html = requests.post(url=url, headers=headers, data=data).json() result = html['result'] ids = [] names = [] for i in result: ids.append(i) for i in range(1, len(ids)): a = result[str(ids[i])] mems = a['mems'] for j in mems: names.append(j['name']) return str(names) # 获取群友名称 def getgrouplist(bkn, groupid): url = 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members' nicks = [] data = { 'gc': groupid, 'st': '0', 'end': '20', 'sort': '0', 'bkn': bkn, } html = requests.post(url=url, headers=headers, data=data).json() nums = html['count'] for i in range(0, nums, 40): data = { 'gc': groupid, 'st': i, 'end': i + 40, 'sort': '0', 'bkn': bkn, } html = requests.post(url=url, headers=headers, data=data).json() mems = html['mems'] # From: www.lanol.cn Author:Lan for i in mems: nicks.append(i['nick']) return str(nicks) def getresult(words): words = str(words).replace('nbsp', '').replace(''', '').replace('u3000', '').replace('u202d', '').replace( 'amp', '') font = 'msyh.ttc' # From:www.lanol.cn Author:Lan wc = WordCloud(font_path=font, # 如果是中文必须要添加这个,否则会显示成框框 background_color='white', width=1800, height=1080, ).generate(words) wc.to_file('a.png') plt.imshow(wc) plt.axis('off') input("结果已生成在代码目录下的a.png, 欢迎来我博客转一转www.lanol.cn 回车后退出") plt.show() if __name__ == '__main__': cookie = input("请输入QQ登陆的Cookie值:") headers = { 'cookie': cookie } bkn = get_bkn(re.findall('; skey=(.*?);', cookie)[0]) a = input('1,生成好友列表词云图 2,生成群友昵称词云图 >>>') if a == '1': getresult(getfriendlist(bkn)) elif a == '2': groupid = input("请输入群号:") getresult(getgrouplist(bkn, groupid)) else: input("当前功能不存在")这个一些细节部分根据自己需要然后优化修改一下就行了。生成的结果图片在软件目录的a.png(自己可以获取群名称,我就懒得改了)cookie获取方法下次再水一篇帖子。使用教程:因为刚刚有人评论不会使用,所以就来一个使用教程吧。首先呢,你需要有一个python环境,然后需要安装wordcloud模块,request模块以及matplotlib模块然后再新建一个py文件,将上面的代码全部复制到py文件中,然后运行即可。Cookie获取方法:进入这个网站:https://qun.qq.com/member.html登陆之后,刷新,点击F12,点击XHR,再点击这里面的随便一条记录找到Cookie,然后将后面的内容全部复制,如图我的这个就是pgv_pvi开始一直复制到2034也就是结尾,这个就是Cookie值
2020年06月01日
1,449 阅读
2 评论
0 点赞
2020-05-31
js解密之QQ的bkn值,获取QQ群成员信息,获取QQ好友列表信息
QQ群网站:https://qun.qq.com/member.html
2020年05月31日
2,783 阅读
0 评论
0 点赞
2020-05-30
域名Whois查询API,域名Whois,域名历史Whois
前段时间,不是写了个扫短位域名的脚本么,然后在网上找whois信息的时候,发现这家的查的挺详细的,然后今天分享一下。首先是域名Whois查询:Api地址:http://whois.4.cn/api/main请求类型:可Get可Post请求参数:domain: vastsa.cn //你要查询域名isRefresh: 0 //是否需要刷新然后是Whois历史信息:Api地址:http://whois.4.cn/api/whoishistory请求类型:可Get可Post请求参数:domain: baidu.cn //要查询的域名page: 1 //显示结果页数perpage: 20 //每页显示多少条
2020年05月30日
2,912 阅读
0 评论
0 点赞
2020-05-29
让python像C#,java一样取下标,Python enumerate() 函数
今天,在某python交流群,看到这样一串代码然后我看到了for循环,然后后面是enumerate,瞬间很多问号,这是个什么东西,百度会告诉我答案,然后就在菜鸟教程上面看到了enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。好吧,不仔细看官方文档的反面教材+1,之前还一直傻乎乎的外面弄一个index,然后在循环里面index+=1,还一边吐槽,python怎么连个下标都要自己取。以下内容转自菜鸟教程:Python enumerate() 函数实例:数据:>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) # 下标从 1 开始 [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]普通的for循环:>>>i = 0 >>> seq = ['one', 'two', 'three'] >>> for element in seq: ... print i, seq[i] ... i +=1 ... 0 one 1 two 2 threefor 循环使用 enumerate:>>>seq = ['one', 'two', 'three'] >>> for i, element in enumerate(seq): ... print i, element ... 0 one 1 two 2 three
2020年05月29日
858 阅读
0 评论
0 点赞
2020-05-29
爬虫免费可用的代理IP获取
爬虫嘛,速度快了,IP指不定就被禁了,但是市面上很多的免费ip经看不经用,收费的又想白嫖,额说了这么多就是想白嫖而已。然后前段时间在网上瞎转悠的时候看到了一个网站的IP存活情况还算不错,,请求百度,超时设置为0.1秒,然后采集10个存活10个(比我在某宝上1000个存活不到1个的好多了)www.lanol.cn然后就是自己已经写好的爬取代码(清洗保存这些自己根据需要稍加处理即可)import parsel import requests url = 'https://www.7yip.cn/free/?action=china&page=1' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/80.0.3987.163 Safari/537.36', } html = requests.get(url=url, headers=headers).text html = parsel.Selector(html) Ip = html.xpath('//td[@data-title="IP"]/text()').extract() Port = html.xpath('//td[@data-title="PORT"]/text()').extract() LeiXing = html.xpath('//td[@data-title="类型"]/text()').extract() result = [] # By:Lan for i in range(len(Ip)): a = (LeiXing[i] + '://' + Ip[i] + ':' + Port[i]) pro = {LeiXing[i]: a} result.append(pro) # 代码源于www.lanol.cn for i in result: try: ssss = requests.get(url='http://www.baidu.com', headers=headers, proxies=i, timeout=0.1).status_code if ssss == 200: print(i) except: print('不合格')
2020年05月29日
965 阅读
0 评论
0 点赞
1
...
61
62
63
...
89