0

0

用Python写过哪些脑洞大开的小工具?

php中文网

php中文网

发布时间:2016-06-06 16:21:55

|

2510人浏览过

|

来源于php中文网

原创

只用python写个网络爬虫工具,是个csdn博客下载工具。
因为公司网络限制,上网都是间接上的,坑爹啊。。所以看好的博客系列性的文章,又没办法随时想看就看,一篇一篇保存又太慢,所以就花了点时间,用python写了这个博客爬虫工具,爬取博主的所有博客
github链接:kevinsss/csdn-spider · github

回复内容:

脑洞 1 :知乎带逛网站

之前曾抓取过知乎的一些数据(已经停掉了,现在不做任何爬虫了),然后通过一个算法,自动判断一个回答是否是美女爆照回答(通过文字、图片比,问题下所有回答带图比,答案评论、问题评论文本相似度等十多条规则),并将爆照回答的图片聚合到一个网站 zhihu.photo,由于已经停掉了,截图如下:

用Python写过哪些脑洞大开的小工具?


脑洞 2 :微博自动报时

我的微博(weibo.com/duxu0805)之前会每小时自动发布一条微博,附带一张壁纸图片和一个链接,链接是微博附图的高清无水印版下载地址。

用Python写过哪些脑洞大开的小工具?

脑洞 3 :得到知乎上两人的关系图

为了找到在轮子哥、四万姐的关注链上游有没有我,将知乎用户的关系链画了一张很大的有向图,并得到如下结果:

用Python写过哪些脑洞大开的小工具? 用Python写过哪些脑洞大开的小工具?

关于实现,可以参考我的博客:xlzd.me/2016/01/31/pyth


脑洞 4 :认识一下我的工资所处水平

为了找到我的工资在互联网行业处于一个什么水平,通过拉勾的几十万招聘数据重新认识了自己的水平。
结论如下:从拉勾招聘看互联网行业


脑洞 5 :不想动,用树莓派吧

还在上学的时候,寒假在家。晚上躺在沙发看电视,睡前 20 分钟需要去打开电热毯,不想动,就用树莓派、继电器和 Python 实现了一个邮件控制电热毯通电、断电的程序,睡前 20 分钟发一封邮件,电热毯就开了。


脑洞 6 :知乎用户整体概况

不多赘述,请直接看博客吧:一个知乎重度用户眼中的知乎


脑洞 7 :各式各样的爬虫

大到1024 / GitHub ,小到妹子图,各式各样的网站基本全部抓过了,曾经聚合过一个网站,由于不喜欢喝茶,也停了。


脑洞 8 :face知乎

通过关键词检索知乎用户,包括但不限于性别、地域、个人描述等。

立即学习Python免费学习笔记(深入)”;

用Python写过哪些脑洞大开的小工具?


其它

用 Python 做了好多好多事情,暂时想到这些值得分享的,如果想起来,再继续更新出来吧~

用Python写过哪些脑洞大开的小工具?

为什么知乎不支持markdown语言
---
破百了就更新
---

这货叫做 树莓派镜子
他其实是由原子镜+LCD屏幕+树莓派+木头盒子 组成的

用Python写过哪些脑洞大开的小工具?

我们先来说原子镜

用Python写过哪些脑洞大开的小工具?

原子镜的学名其实叫做 单向透视玻璃,但是在淘宝上搜 原子镜 这个关键词会好些

单面镜其实是“双面镜”,单面镜前后两面的光学性质根本没有分别,它之所以能产生单面反光的效果,完全是因为镜的两面处于不同光度的环境所造成的。我们先比较普通镜子和单面镜的结构。普通镜子是把银镀在玻璃上制成的。单面镜也一样,可是在镀银时就只会镀“一半”。怎样可以镀“一半”呢?方法倒是有点巧妙:镀上去的银(不是真银,是其他金属)十分薄,使一半的光可以通过,另一半就被反射回去。在实际使用时,犯人会面向镜面,而且身处有强光的房间。因为光线充足,反射的光较多,犯人便会在镜中看见自己的影象。此时证人站在镜的另一边,一个光线很微弱的房间里。虽然证人房间里部分的光线也可以穿过单面反光镜,但由于光度很低,所以犯人便看不到证人,只能看到自己的影像。情形就好像在街灯的强光下,我们不能看见萤火虫一样,因为来自萤火虫的微弱光线被街灯的光所盖过了。因此所谓单面反光的现象,只是视觉上的错觉罢了! (摘自百度百科)

原子镜广泛应用于监狱、公检法机构审讯室、精神病医院、大学科研机构研究室、大型会议室等,可达到里面看不到外面,外面可看到里面的效果。


比如 审讯室

用Python写过哪些脑洞大开的小工具?

还有外国人的街头公厕

用Python写过哪些脑洞大开的小工具?

这种厕所上起来感受应该比较刺激

当然还有应用于酒(tou)店(pai)的,所以在网上也有很多卖小尺寸的原子镜,一般是10x10cm的一块10块钱,我这个是12x14cm的也是10块钱,但是邮费就要20,所以很划不来,据说现在有种单透膜,可以达到同样的效果,没有研究过。

接下来说 LCD屏幕

我使用的是深圳微信公司出的4英寸LCD屏,这个屏幕用起来很方便,直接插起来就可以用


正面

用Python写过哪些脑洞大开的小工具?

反面

用Python写过哪些脑洞大开的小工具?

和树莓派合体

用Python写过哪些脑洞大开的小工具?

效果

用Python写过哪些脑洞大开的小工具?

这块屏幕更详尽的介绍

然后树莓派

感觉这货没什么好说的,大家应该都知道,稍微说一下

这是一个迷人有趣的Linux电脑


树莓派(为学生计算机编程教育设计的一种卡片式电脑)编辑 Raspberry Pi(中文名为“树莓派”,简写为RPi,或者RasPi/RPi)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于Linux。 随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。 自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。


树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。

树莓派名字中的pi其实指的就是 python

所以我选择了 python 作为 镜子的编程语言

编程语言Perl性能优化的三大技巧总结 中文WORD版
编程语言Perl性能优化的三大技巧总结 中文WORD版

本文和大家重点讨论一下Perl性能优化技巧,利用Perl开发一些服务应用时,有时会遇到Perl性能或资源占用的问题,可以巧用require装载模块,使用系统函数及XS化模块,自写低开销模块等来优化Perl性能。 Perl是强大的语言,是强大的工具,也是一道非常有味道的菜:-)利用很多perl的特性,可以实现一些非常有趣而实用的功能。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载

那么说说我用python在这上面干了些什么

事实上最开始我的策略使用一个全屏的网页浏览器显示一个 黑底白字 的网站

可是坑爹的是 我更不不会web技术

然后我就打算要不试试python吧,本来还觉得不爽又要新学一门语言

但是

python给我很大的惊喜

我并没有学习python的语法,而是看了两个例子就直接使用tkinter库开始编程

这就是python的优势: 简单

接触python到用tk写出第一个的界面,只用了1个小时的时间

就是一开始那个环形显示时间那个

对于准大一新生来说,不管是python的语法还是库的使用都很容易,所以python很适合用来入门

我甚至打算教我的女朋友(nue)(gou)


接着我结合百度的天气API,pm2.5API等开发了一些其他界面

用Python写过哪些脑洞大开的小工具?

所有的界面都是黑底白字。


我觉得镜子展现的内容就应该简洁,所以界面上只有 数字 文字 线条 3个元素

用Python写过哪些脑洞大开的小工具?

后来我觉得只是这样太死气了

用Python写过哪些脑洞大开的小工具?

所以我开发了一个类,能让这些元素拥有动画效果,并且能让 Pm2.5 天气 时间 我和女朋友在一起了多少秒 等等 这些信息能够随机的在镜子上淡入淡出


最后我想,如果一定要跟镜子交互,那么语音应该是最好的选择,不然就是用智能手机链接镜子

用Python写过哪些脑洞大开的小工具?

我是比较偏向语音这个选择,因为这将会是一种新式的交互体验,就跟童话里的魔镜一样,我对这个镜子的定位是一个外形比较骚的公众信息聚合平台,所以语音相对于手机来说,更方便,而对于这样一个定位来讲,方便很重要,试想你在酒店想要找厕所,然后你问魔镜 ’魔镜魔镜,厕所在哪‘ 是不是比掏出手机链结魔镜,然后再用某种低效的输入进行交互方便的多?

再说百度等都有开放的API可以用何乐而不为?

所以下一步的目标就是把语音的功能开发出来,目前卡在了语音采集这个问题上。

还希望大神多指教

单位提供盒饭,不过需要自己前一天到内网的订餐页面订餐。有一天我忘了订餐,只好自己花钱订外卖了。

于是,为了避免这样的问题再发生,我写了一个订餐爬虫,实现了“一键订餐”。然后,使用Linux上的crontab服务,每个工作日的同一时间自动运行这个爬虫程序。

从此再也不用担心忘记订餐了。 把知乎的喜欢的答案扒下来做成电子书,并推送到kindle上看。

python爬虫 推送知乎文章到kindle电子书 python写了个命令行麻将
cugb1004101218/majiang · GitHub
半成品,不能碰,屁胡。 这个python小应用是我在Github上发现的,很有趣,实测可以运行
GitHub - 0x5e/wechat-deleted-friends: 查看被删的微信好友

实现的功能是查看把自己删了的微信好友,原理就是新建群组,用的是微信网页版的接口,如果加不进来就是被删好友了(不要在群组里讲话,别人是看不见的)


对了,这个用的是python2.x开发的,python3.x是运行不了的


这个是应用的Github界面

用Python写过哪些脑洞大开的小工具?

这个是运行之后的结果,会让你用微信扫一个二维码,然后就可以了

用Python写过哪些脑洞大开的小工具?

脑洞打开的小工具到没怎么写过,但是写了一个挑逗女神的一个小程序!!!
想看程序的 赶快来赞我吧!!! 抓取 MetArt 高清套图。感觉要掉节操 =_=

fetch.py:

#!/usr/bin/env python2.7
# --*-- encoding: utf-8 --*--

# enable print(,end='')
#from __future__ import print_function 
import argparse
import sys
import os
import re
import bs4
import urlparse
import requests

def download(url, out, title):
    #out = url.split('/')[-1]
    resp = requests.get(url, stream=True)
    if resp.status_code != requests.codes.ok:
        return False

    total = resp.headers.get('content-length')
    if total is None:
        total = 0
    else:
        total = int(total)

    def show_progress(total, acc):
        if total == 0:
            sys.stdout.write("{} ?\r".format(out))
        else:
            #sys.stdout.write("{} [ {:3d}% ]\r".format(100*acc/total, out))
            sys.stdout.write("{} \"{}\" {:3d}%\r".format(title, out, 100*acc/total))
        sys.stdout.flush()

    acc = 0
    show_progress(total, acc)
    with open(out, 'wb') as f:
        for chunk in resp.iter_content(chunk_size=1024): 
            if chunk: # filter out keep-alive new chunks
                f.write(chunk)
                f.flush()
                acc += len(chunk)
                show_progress(total, acc)
    sys.stdout.write("\n")

    return True

def fetch(from_url, offset, count):
    with open(from_url, "r") as f:
        html = f.read()
    soup = bs4.BeautifulSoup(html)

    # get title
    content = soup.find_all("h2", class_="first")
    if len(content) == 0:
        print("title not found!")
        return
    elif len(content) != 1:
        print("title not unique!")

    fdir = content[0].contents[0].encode("utf8").strip().replace("–", "-")
    if not os.path.exists(fdir):
        os.mkdir(fdir)
        print("mkdir: \"{}\"".format(fdir))

    # get image url
    content = soup.find_all("div", id=re.compile("^post-"))
    if len(content) == 0:
        print("target not found!")
        return
    elif len(content) != 1:
        print("target not unique!")

    imgs = content[0].find_all("img")
    start = 0 if offset is None else offset
    end = len(imgs) if count is None else (start+count)
    print("# of image: {}".format(nimg))

    for idx in range(start, end):
        img = imgs[idx]
        url = str(img.attrs["src"])
        #url = url.replace("http://t10", "http://i10")
        url = url.replace("http://t", "http://i")
        ext = url[url.rfind("."):]
        out = "{0}/{1}{2}".format(fdir, idx+1, ext)

        # get image file
        for retry in range(0, 5):
            title = ("({{:{}d}}/{{}})".format(len(str(end))).format(idx+1, end))
            if download(url, out, title):
                break
            print("failed, try again ({})".format(retry+1))


def main():
    parser = argparse.ArgumentParser(description='nah')
    parser.add_argument('urls', type=str, nargs="+", help='Specify URLs')
    parser.add_argument('--offset', type=int, nargs="?", help='offset')
    parser.add_argument('--count', type=int, nargs="?", help='count')
    args = parser.parse_args()
    for url in args.urls:
        fetch(url, args.offset, args.count)

if __name__ == "__main__":
    main()
写过一个把图片转换成字符画的小程序,效果如下 用Python写过哪些脑洞大开的小工具?
用Python写过哪些脑洞大开的小工具?
以下是代码:
import Image
 
color = 'MNHQ$OC?7>!:-;.' #zifu
 
def to_html(func):
    html_head = '''
            <html>
              <head>
                <style type="text/css">
                  body {font-family:Monospace; font-size:5px;}
                </style>
              </head>
            <body> '''
    html_tail = '</body></html>'
 # ding yi HTML
    def wrapper(img):
        pic_str = func(img)
        pic_str = ''.join(l + ' <br/>' for l in pic_str.splitlines())
        return html_head + pic_str + html_tail
 
    return wrapper
 # fan hui zhi
@to_html
def make_char_img(img):
    pix = img.load()
    pic_str = ''
    width, height = img.size
    for h in xrange(height):
        for w in xrange(width):
            pic_str += color[int(pix[w, h]) * 14 / 255]
        pic_str += '\n'
    return pic_str
 
def preprocess(img_name):
    img = Image.open(img_name)
 
    w, h = img.size
    m = max(img.size)
    delta = m / 200.0
    w, h = int(w / delta), int(h / delta)
    img = img.resize((w, h))
    img = img.convert('L')
 
    return img
 
def save_to_file(filename, pic_str):
    outfile = open(filename, 'w')
    outfile.write(pic_str)
    outfile.close()
 
def main():
    img = preprocess(raw_input('input your filename:'))
    pic_str = make_char_img(img)
    save_to_file('char.html', pic_str)
 
if __name__ == '__main__':
    main()
写过一个终端版的BT链接下载。。也不算脑洞大开。。

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

463

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

135

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

64

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

26

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

14

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

524

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

53

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 4.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号