首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
14,551 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,842 阅读
3
gradle-5.4.1-all.zip下载
9,820 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
8,306 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
7,124 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
624
篇文章
累计收到
632
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
144
篇与
的结果
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,482 阅读
2 评论
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日
881 阅读
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日
989 阅读
0 评论
0 点赞
2020-05-27
让python帮你访问别人空间来赚论坛积分,配合云函数,你懂得
有些论坛需要积分来获取更高的权限,但是只签到的话分数还是太慢了,然后这时候就可以看一下积分规则,看有哪些方法可以增加积分。然后这次呢就用python来写一个小脚本,这个没有什么技术含量,就是带上cookie和请求头模拟请求而已。然后再看下代码(此程序仅限DZ论坛)。import random import requests def main(a,b): for i in range(30): a = int(random.random() * 10000) url = 'https://{论坛地址}/space-uid-{}.html'.format(a) headers = { 'cookie': '{你的cookie}', 'referer': '{论坛地址}', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', } print(requests.get(url=url, headers=headers).status_code) return 'ok'以前不怎么用这个云函数,所以写的一般,以后再慢慢学一下。使用方法:可以自己挂到服务器之类的地方,也可以用云函数每天自动执行直接创建一个helloworld模板函数,然后内存设置为64MB,时间为1分钟就够了。然后把代码粘贴进去,自己配置一下执行周期这样就可以了
2020年05月27日
922 阅读
0 评论
0 点赞
2020-05-24
让python自动给你报告百度新收录了多少页面,并发送到你的邮箱
这两天,百度终于开始收录我的内页了,虽然只是每天收录那么一两条,但是已经让我感觉很不错了(就是这么容易满足),有时候想看看百度收录了我多少页面了,电脑又不在身边,手机操作又不方便,于是就写了这么个python脚本。功能:如果有新收录,发送邮件到指定邮箱每个一小时监控一次。发送新增页面,和总页面,以及其数量效果图:代码:import smtplib import time from email.mime.text import MIMEText import parsel import requests def get_info(domain): url = f'http://tool.chinaz.com/baidu/?lm=0&wd={domain}&rn=50' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', } html = requests.get(url=url, headers=headers).text html = parsel.Selector(html) titles = html.xpath("//a[@class='col-blue02']/text()").extract() urls = html.xpath("//a[@class='col-blue02']/@href").extract() pages = html.xpath("//a[@class='item'][last()]/text()").extract() try: nums = int(html.xpath("//span[@class='col-blue02'][2]/a/text()").extract()[0]) if pages: pages = int(pages[0]) * 10 else: pages = 0 if pages == 0: return { 'titles': titles, 'urls': urls, 'nums': nums } else: all_title = [] all_urls = [] for i in range(0, pages, 10): url = f'http://tool.chinaz.com/baidu/?pn={i}&wd={domain}&rn=10' html = requests.get(url=url, headers=headers).text html = parsel.Selector(html) print(i) all_title.extend(html.xpath("//a[@class='col-blue02']/text()").extract()) all_urls.extend(html.xpath("//a[@class='col-blue02']/@href").extract()) return { 'titles': all_title, 'urls': all_urls, 'nums': nums } except: print("此网站被屏蔽!!!") def send_mail(infomation, old_nums, old_titles, recever): newnums = infomation['nums'] titles = infomation['titles'] urls = infomation['urls'] new_contents = '' if infomation['nums'] > old_nums: for i in range(len(titles)): if titles[i] not in old_titles: new_contents += f'{titles[i]} {urls[i]} ' mail_content = f'老大,截至{time.strftime("%Y年%m月%d日%H:%M:%S", time.localtime())} 百度新收录:{newnums - old_nums}条 总计收录:{newnums}条 新收录信息如下:' mail_content += new_contents mail_content += '目前收录如下: ' # By:www.lanol.cn # autor:Lan for i in range(len(titles)): mail_content += f'{titles[i]} {urls[i]} ' try: content = MIMEText(mail_content, 'plain', 'utf-8') reveivers = f"{recever}" content['To'] = reveivers # 设置邮件的接收者,多个接收者之间用逗号隔开 content['From'] = str("admin@lanol.cn") # 邮件的发送者,最好写成str("这里填发送者"),不然可能会出现乱码 content['Subject'] = f"老大,你的网站又被百度收录啦!!!{time.strftime('%Y年%m月%d日%H:%M:%S', time.localtime())}" # 邮件的主题 smtp_server = smtplib.SMTP_SSL("smtp.exmail.qq.com", 465) smtp_server.login("{发送邮箱}", "{邮箱密码}") smtp_server.sendmail("admin@lanol.cn", [recever], content.as_string()) smtp_server.quit() except Exception as e: print(str(e)) except smtplib.SMTPException: print("Error: 无法发送邮件") return { 'newnums': newnums, 'titles': titles, 'urls': urls } if __name__ == '__main__': domain = input("请输入你要监控的网址(如:www.lanol.cn,不需要加https这些):") reveiver = input("请输入收信邮箱(如:78013994@qq.com):") nums = 0 titles = [] urls = [] while True: new_infomation = send_mail(get_info(domain), nums, titles, reveiver) nums = new_infomation['newnums'] titles = new_infomation['titles'] urls = new_infomation['urls'] print(f'{time.strftime("%Y年%m月%d日%H:%M:%S", time.localtime())}检查成功') time.sleep(3600)哈哈,刚刚发现个Bug,一个小时之后不能再发送,已经修复了,可以重新下载一下成品下载地址:百度收录查询发送邮箱.zip大小:11.4MB已经过安全软件检测无毒,请您放心下载。
2020年05月24日
1,154 阅读
3 评论
0 点赞
2020-05-23
Python安装第三方库的几种办法
我为了方便呢,就把不同用途的模块分虚拟环境放了,就是virtulenv,比如我的爬虫专门就是一个for_spider,flask框架就是for_flak这样的可以避免一些模块冲突,也可以提升速度(大概吧)。然后因为有虚拟环境所以安装模块也是需要注意的。第一种:直接在Pycharm里安装File->Setting->Project->Project ->Interpreter->+>搜索->install完成之后会有绿色的东西提示。第二种:在pycharm的控制台安装:这里直接输入pip install 要安装的模块第三种:进入虚拟环境安装来到虚拟环境目录进入Scripts文件夹,在这里打开控制台(网址栏输入cmd)然后输入activate激活虚拟环境,在输入pip install 要安装的模块然后这些安装方式都是国外的源,可以自己换成国内的源速度更快。python pip国内镜像安装方法以及pycharm换源
2020年05月23日
1,873 阅读
0 评论
0 点赞
2020-05-22
职教云教师ID获取教程
首先呢,因为这个教师ID在多个地方都有出现,但是每个老师的活动情况都不一样,所以也就没有写到软件里了(好吧,我就是懒)。然后修改作业时间呀,作业分数呀都需要用到这个ID,所以这里写一下获取教程。方法一:通过课件获取打开职教云网站,点开要获取的老师的课程,打开F12,切换到NetWork栏。点击XHR。进入课件!!!!注意!!!进入课件,也就是需要播放课件,可以看到一个getCellCommentData,这个就是教师ID了方法二:通过课后获取进入课堂,课堂教学,课后,找到课后任务打开F12,切换到NetWork栏。点击XHR。点击详情,可以看到一个getFaceTechRequireinfo,红框框里面的就是教师ID方法三,好吧,懒得写了,有上面两个就够了
2020年05月22日
7,061 阅读
21 评论
0 点赞
1
...
14
15
16
...
21