可以用 Python 來幹些什麼有趣的事?

RT


寫過一個把圖片轉成字元圖的小程序

工作原理:利用字元來表示像素,代替圖案。

具體步驟:

1.讀入圖片,將其轉化為灰度圖片

2.逐行掃描像素點,轉化為對應的字元。

實施細節:

1.找朋友做了所有鍵盤上的字元的圖片,白色背景,寫了個代碼統計個字元顯示出來後,黑色區域有多少,和整體作對比,計算「灰度值」,然後分出灰度階數,選擇對應字元。最後確定8個字元,對應8個灰階。

2.字元在顯示的時候長寬比不是一比一的,所以輸入圖片要首先經過調整,這裡就是簡單的高度除以2。

3.用了PIL庫

github jzlikewei/img2ascii · GitHub

結果像這樣:

泉此方:

我司logo:

最後加一個,嘟嘟嘴的我:


3月27日更新:

前幾天註冊了一個新的域名:http://zhihu.photo,裡面是知乎一些熱門釣魚貼的圖片集,剛剛部署上去,這幾天會正式開始抓取。另爬蟲和Web端代碼已開源,地址:https://github.com/xlzd/。

---------------------------------------

1--&>

知乎上有很多高質量的妹子~~~

寫了一個爬蟲, 從一個用戶( @OnlySwan )開始, 按照一個規則判斷每個人是否是美女(頭像檢測 / 回答問題中的圖片內容 / 贊.感謝.收藏等的次數 ......), 若是則存下她,然後從她的關注列表開始爬下去(美女關注美女的概率更大).

爬蟲跑在我的VPS上,然後在SAE建了一個應用展示(上班時間比較緊,後一步暫時沒有做完, 很快就可以完成與大家見面)~~~

2--&>

爬下了很多很多美女圖片, 掛到了我的VPS上~~~(http://vps.duxu.info)

3--&>

有一個樹莓派和繼電器,樹莓派做微信公眾號後台, 想要開 / 關電熱毯的時候就對微信公眾號發一條語音(去年寒假時候做的, 當時是發郵件, 後來改成了微信公眾號).

4--&>

我的微博(Sina Visitor System)每個整點會自動發一張圖片加報時, 也是Python完成的.


可以用py2和py3逼死選擇恐懼症

我覺得這件事最有趣,別的都不如我這個


  1. 先和第一名的答案握個爪,我也寫過一個把圖片轉換成為表情圖的python腳本,效果如下:

Github: python-gems/emojify at master · RealHacker/python-gems · GitHub

小李子的臉部都是笑臉表情組成的,是不是很應景?

2. 用Python的curses庫寫了一個高仿VI編輯器,實現了大部分常用的編輯命令:

GitHub - RealHacker/python-vi: Vi editor implemented in python

3. 用Python實現了一個Go語言的REPL:

python-gems/go_repl.py at master · RealHacker/python-gems · GitHub

在學Go語言的時候,想寫個小程序實驗一些東西,總要些一個.go文件包含main函數,很麻煩。用這個REPO就可以和python一樣,在命令行執行一條Go語句,並且可以保留執行的上下文。原理很簡單,就是用一個template把要執行的命令包起來形成一個.go臨時文件,然後用gorun執行。

4. 用 python寫了一個類似Leetcode的簡單的OJ,只支持提交python代碼:

python-gems/online_judge at master · RealHacker/python-gems · GitHub

很多OJ需要的功能都沒有實現,代碼沙盒也很簡單。

5. 自己寫個簡單的非同步圖片爬蟲:

python-gems/image_crawler at master · RealHacker/python-gems · GitHub

當然,真要在生產環境爬東西還是用scrapy,這個只是自己寫著玩的。

效果:宅男福利 - 一個圖片爬蟲,基於 Tornado 協程

6. 用python實現一個簡易web server:

python-gems/http_server at master · RealHacker/python-gems · GitHub

支持靜態文件、wsgi的webapp以及代理。當然只是個玩具而已。

一般想到什麼idea就用Python實現一下,因為Python實在太友好了,基本上可以跟隨自然語言的思考過程直接寫下代碼。除了OS內核這種底層程序,以及對實時性能要求很高的程序,其他幾乎都可以用Python完成。

-----------------------

歡迎程序員關注我的微信公眾賬號:codergroup

一起討論那些只有程序員才懂的事。

http://weixin.qq.com/r/njq-p8vEHZZirY-E92_M (二維碼自動識別)


新國立大學的教授Ben leong給我們上Python時設計了一個《飢餓遊戲》,讓我們每個人寫一個AI,這個AI可以選擇武器、面對敵人選擇逃跑或者戰鬥、如果殘血面對敵人是先加血再戰鬥還是先戰鬥再加血這些複雜邏輯。然後把這些AI放到一個大的競技場讓他們互相撕殺,最終我的獲勝了ww

代碼貌似已經找不到了…放一張當時的圖

撕殺還是很複雜的,看右下角生成的行數就知道了~


抓知乎女神(關注著大於1000)的頭像啊!!!這是爬下來的知乎妹子們的頭像!!

大家可以點擊大圖查看妹子昵稱,前面是自己的編號,中間的就是妹子的昵稱,最後是我自己爬取時妹子的粉絲數!

因為知乎每位用戶主頁的url地址不具有規律性,所以採用的是搜索演算法中最簡單的BFS搜索。從某一單一用戶出發,向上遍歷其關注的人,這裡遍歷其關注的人是因為其關注的人中往往是高質量用戶,而關注其的人有很多死粉,從而降低搜索的時間。同時採用BloomFilter來判斷是否已經爬取過該用戶。BloomFilter可以保證遍歷過的人不會再次被遍歷,但也很小的概率錯誤地認為沒有被爬取的用戶已經被爬取過。

當然在程序中還有很多細節,比如若不考慮女性則可以不訪問用戶主頁就可以下載妹子頭像,因為可以直接從其關注者頁面中判斷下載,這樣就省去了很多解析的時間。還有就是字元串的問題,因為我是在windows系統上做的爬蟲,各種編碼解碼的問題很多。還有網路方面的問題,需要加timeout以不至於在申請資源時卡頓造成整個程序卡頓。

存在問題:

1.採用BFS搜索到後期效率很差,因為每一位用戶被爬取到以後就不會再被爬取,而現實中往往存在許許多多的小圈子,導致到後期總是找到以前已經找到過的用戶。

2.該程序在嘗試爬取大約20萬個網頁後,還是會出現不明原因卡頓,整個程序卡死,我沒有在scrapy上編寫程序,不知道是什麼原因造成的。

3.沒有採用多線程,造成爬取速度較慢,其實如果不加性別限制,其實還是挺快的,因為只需要解析關注者頁面就可以獲取頭像圖片url地址,但是若要對性別或是學校啊等其他條件加一定限制的話,就需要解析其主業,造成速度變慢。

4.BloomFilter採用的是自己在網上看的代碼自己改寫的,沒有採用在Linux下可以直接用的模塊pybloomfiltermmap,我也一直在懷疑是不是自己寫的bloomfilter造成程序卡死。

最後再帖幾張高質量妹子頭像啊!!!

歡迎大家一起參與討論哈,也歡迎大家提供意見啊!!本人python小白一枚,看了大家都那麼精彩的答案,就花幾天時間寫了一下,感覺收穫還是很大,也有很多樂趣!

類似問題:能利用爬蟲技術做到哪些很酷很有趣很有用的事情? - 互聯網

*****************************************我是華麗麗的分割線***********************************************

我在能利用爬蟲技術做到哪些很酷很有趣很有用的事情? - 互聯網上也更新了我的狀態,以後在這裡就不再更新了。看看有沒有你熟悉的妹子!!


用python抓取你喜歡的知乎的答案,做成電子書推送到kindle上,有空離線看。

python爬蟲 推送知乎文章到kindle電子書

github: GitHub - Rockyzsu/zhihuToKindle


用Python玩scikit learn,非常贊的machine learning庫,好用演算法又多。比起用MATLAB缺點是做圖不是那麼方便。


  1. 找一個你常用的番號網站,抓取番號

  2. 抓取番號以後去btava上獲取磁鏈
  3. 寫一個自動登錄115的,然後把磁鏈放到離線下載裡面去

從此你就有觀摩不完的愛情片了(逃


說一個前兩天剛做的吧。12級的學長學姐拍畢業證件照,需要使用學號+身份證登陸某網站核對。然後使用之前通過某信息管理系統用戶名密碼的漏洞爬取的所有學生信息登陸,拿到了三千多張照片,其中女生1400多張(想不到我校還有這麼高的女男比例。。)好想做個facemash啊,不過就是怕被查水表。。


以前為了找知乎上的高票答案,會花很長的時間來刷知乎。感覺比較浪費時間,所以就用Scrapy寫了一個爬蟲,專門用來收集1000個贊以上的答案。有了這個資料庫,接著用Django寫了個網站叫最知乎,專門用來看這些收集的答案,好不爽快。有興趣的朋友可以去我的網站看看:最知乎 - 首頁,歡迎指導!


寫過一個用來搶課的刷課器………

模擬登陸然後不停的看那個課有沒有空位,有就註冊

後來聽說學校有人查這個就沒敢用= = 還說賣給學弟學妹的哈哈哈哈


刷火車票


進行骯髒的Python交易


爬1024

爬1024

爬1024

重要的事情說三遍


update一下:

不想繼續吐槽了ww

學校體育部的網站ww

所以。。。。

現在身高、體重都有了= =|||

=========================================

我是神奇的 分割線

=========================================

我先說一個來拋磚引玉吧ww

無意中發現學校有一個一直開放的API可以通過學號獲取學生的信息。

其中包括身份證號,於是乎用Python寫了一個包,把好幾個類似的介面進行了二次封裝,然後又通過已有信息(比如身份證號)去百度的API上獲取發證地的信息。

然後打包編譯成了pyc,寫了一個使用文檔ww,裡面包括了各種get_XXX的介面,還能拉下來照片。。


1.獲取選課表,無限刷新網站檢測自己想要的課是否有名額

2.抓取了本學校同年級的所有人的學號學院信息,用本學院的學號嘗試登陸在線作業網站(有默認密碼。。),然後抄作業。。

3.用django架博客,用tornado做微信後台開發。


youtube上有很多不錯的教程,所以我寫了一個py,30多行的代碼就搞定啦。這樣就不需要v.p.n也可以看視頻啦 。


程序猿始終覺得寫代碼是最有趣的事,不是嗎?


poker 遊戲實現 (python)

用python實現poker 這個棋牌遊戲,有興趣可以去看看


推薦閱讀:

想要用 python 做爬蟲, 是使用 scrapy框架還是用 requests, bs4 等庫?
Python 在 Linux 系統運維中都有哪些應用?
Python 關於讀寫txt的問題?
Python Shell 中敲擊方向鍵顯示「^[[C^[[D」,原因是什麼?如何修復?
為什麼python代碼有時候在命令行下和Python Shell中執行的結果不一樣呢 ?

TAG:程序員 | Python | 編程 |