1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Github上有趣的100個(gè)python項(xiàng)目

        共 12882字,需瀏覽 26分鐘

         ·

        2020-07-31 18:42


        點(diǎn)擊藍(lán)字關(guān)注我,有干貨領(lǐng)??!


        Github上面有很多有趣的python項(xiàng)目,包括軟件、庫(kù)、教程、資源等。這次收集了其中比較受歡迎的100個(gè),供大家參考。

        資料來(lái)源:https://github.com/521xueweihan/HelloGitHub
        ?

        1、awesome-python-webapp:廖老師的 Python 入門(mén)教程中的實(shí)踐項(xiàng)目的代碼

        2、Minos:一個(gè)基于 Tornado/MongoDB/Redis 的社區(qū)系統(tǒng)

        3、tushare:TuShare 是一個(gè)免費(fèi)、開(kāi)源的 Python 財(cái)經(jīng)數(shù)據(jù)接口包,TuShare 文檔

        4、beijing_bus:北京實(shí)時(shí)公交,可以顯示查詢(xún)的公交到達(dá)某站還需多久

        5、luokr.com:Python Tornado 寫(xiě)的開(kāi)源網(wǎng)站——螺殼網(wǎng),訪問(wèn),如圖:

        6、ssbc:Python Django 寫(xiě)的種子搜索網(wǎng)站——手撕包菜,如圖:

        7、listen1:Listen 1 讓你用一個(gè)網(wǎng)頁(yè)就能聽(tīng)到多個(gè)網(wǎng)站的在線音樂(lè),支持各種平臺(tái)。如圖:

        8、python-gems:有趣的 Pyhton 代碼片段集合

        9、algorithm:老齊的 Python 算法教程

        10、python-goose:Goose 用于文章提取器,提取中文內(nèi)容的示例代碼:

        >>>?from?goose?import?Goose
        >>>?from?goose.text?import?StopWordsChinese
        >>>?url??=?'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
        >>>?g?=?Goose({'stopwords_class':?StopWordsChinese})
        >>>?article?=?g.extract(url=url)
        >>>?print?article.cleaned_text[:150]
        香港行政長(zhǎng)官梁振英在各方壓力下就其大宅的違章建筑(僭建)問(wèn)題到立法會(huì)接受質(zhì)詢(xún),并向香港民眾道歉。

        梁振英在星期二(12月10日)的答問(wèn)大會(huì)開(kāi)始之際在其演說(shuō)中道歉,但強(qiáng)調(diào)他在違章建筑問(wèn)題上沒(méi)有隱瞞的意圖和動(dòng)機(jī)。

        一些親北京陣營(yíng)議員歡迎梁振英道歉,且認(rèn)為應(yīng)能獲得香港民眾接受,但這些議員也質(zhì)問(wèn)梁振英有

        11、mincss:Python 寫(xiě)的用來(lái)找到 CSS 中沒(méi)有用到的代碼片段,并刪除。適用于:想要做一個(gè)頁(yè)面,但是不會(huì)寫(xiě) CSS 人。示例代碼如下:

        #coding:utf-8
        #!/usr/bin/env?python
        from?__future__?import?print_function
        import?sys,?os
        sys.path.insert(0,?os.path.abspath('.'))
        from?mincss.processor?import?Processor

        #?這里改成想要參考的頁(yè)面
        URL?=?'http://localhost:9000/page.html'

        def?run():
        ????p?=?Processor()
        ????p.process(URL)

        ????#?輸出INlink的css的簡(jiǎn)化前和簡(jiǎn)化后的css代碼
        ????print("INLINES?".ljust(79,?'-'))
        ????for?each?in?p.inlines:
        ????????print("On?line?%s"?%?each.line)
        ????????print('-?'?*?40)
        ????????print("BEFORE")
        ????????print(each.before)
        ????????print('-?'?*?40)
        ????????print("AFTER:")
        ????????print(each.after)

        ????#?輸出link引用的css的簡(jiǎn)化前和簡(jiǎn)化后的css代碼
        ????print("LINKS?".ljust(79,?'-'))
        ????for?each?in?p.links:
        ????????print("On?href?%s"?%?each.href)
        ????????print('-?'?*?40)
        ????????print("BEFORE")
        ????????print(each.before)
        ????????print('-?'?*?40)
        ????????print("AFTER:")
        ????????print(each.after)

        if?__name__?==?'__main__':
        ????run()

        12、KindleEar:這是一個(gè)運(yùn)行在 Google App Engine(GAE) 上的 Kindle 個(gè)人推送服務(wù)應(yīng)用,生成排版精美的雜志模式mobi/epub格式自動(dòng)每天推送至您的 Kindle 或其他郵箱。

        13、python-guide:Requests 庫(kù)的作者——kennethreitz,寫(xiě)的 Python 入門(mén)教程。不單單是語(yǔ)法層面的,涵蓋項(xiàng)目結(jié)構(gòu)、代碼風(fēng)格,進(jìn)階、工具等方方面面。雖然是英文版(中文翻譯版),但我這個(gè)英語(yǔ)渣都能看懂,你肯定也可以,快去看看吧,開(kāi)卷有益。在線閱讀

        14、flask-admin:我工作中需要寫(xiě)一個(gè)微型的管理系統(tǒng),用的就是這個(gè)框架。簡(jiǎn)直快餐型,頁(yè)面都寫(xiě)好了,只要設(shè)置好相關(guān)配置就可以跑起來(lái)了。唯一缺點(diǎn)就是文檔中的例子少,開(kāi)發(fā)一些特定的需求需要自己看源碼,才能知道如何改。文檔,下面是我跑起來(lái)之后的樣子:

        15、python-sdk:七牛云存儲(chǔ) SDK。我自己在用他家的服務(wù),上手簡(jiǎn)單、有免費(fèi)額度,可以用來(lái)做‘圖床’,同時(shí),有了這個(gè) SDK 可以寫(xiě)一些好用的小工具。注意:圖床不能隨便用,我曾經(jīng)就用超了,賬戶(hù)的錢(qián)能扣成負(fù)數(shù)!

        16、superset:企業(yè)級(jí)的數(shù)據(jù)探索、展示平臺(tái)。功能很強(qiáng)大,可以用來(lái)做數(shù)據(jù)分析、展示。如下圖:

        17、flaskbb:基于 Flask 框架做的論壇,功能有限,輕量級(jí)的論壇應(yīng)用在線文檔,可以在這個(gè)項(xiàng)目上進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)更加復(fù)雜的功能。在線預(yù)覽

        18、fuck-login:模擬登錄一些知名的網(wǎng)站,為了方便爬取需要登錄的網(wǎng)站。注意:控制爬蟲(chóng)的爬取頻率!

        19、Young:基于 Tornado 框架、MongoDB 數(shù)據(jù)庫(kù),寫(xiě)的功能豐富的社區(qū)項(xiàng)目。詳細(xì)的安裝步驟,適合學(xué)習(xí)如何創(chuàng)建社區(qū)類(lèi) Web App。在線預(yù)覽,項(xiàng)目運(yùn)行效果圖:

        20、textfilter:基于某 1w 詞敏感詞庫(kù),用 Python 實(shí)現(xiàn)幾種不同的過(guò)濾方式。用于過(guò)濾敏感詞的實(shí)用模塊,示例代碼:

        from?filter?import?DFAFilter

        gfw?=?DFAFilter()
        gfw.parse("keywords")
        print?"待過(guò)濾:售假人民幣?我操操操"
        print?"過(guò)濾后:",?gfw.filter("售假人民幣?我操操操",?"*")

        test_first_character()

        #?運(yùn)行結(jié)果
        #?待過(guò)濾:售假人民幣?我操操操
        #?過(guò)濾后:?售假幣?

        21、qrcode:Python 寫(xiě)的生成動(dòng)態(tài)、彩色、各式各樣的二維碼,詳細(xì)的中文文檔,通過(guò)?qrcode?生成的二維碼樣式如下:

        22、httpie:非常好用的命令行 HTTP 客戶(hù)端,cURL 的替代者,返回的結(jié)果支持高亮,提高了可讀性。用于調(diào)試接口、查看服務(wù)器返回的 HTTP 協(xié)議的信息。在線文檔,下面的是 cURL 和 httpie 的返回結(jié)果對(duì)比圖:

        23、langid:用于識(shí)別輸入文本數(shù)據(jù)所屬的語(yǔ)種,目前支持 97 種語(yǔ)言識(shí)別。示例代碼:

        import?langid
        text1?=?"I?am?a?coder?and?love?data?mining"
        text2?=?"請(qǐng)注明作者和出處并保留聲明和聯(lián)系方式"

        print?langid.classify(text1)
        print?langid.classify(text2)

        #?('en',?0.9999957874458753)
        #?('zh',?1.0)

        24、fake-useragent:偽裝瀏覽器身份,常用于爬蟲(chóng)。這個(gè)項(xiàng)目的代碼很少,可以閱讀一下,看看?ua.random?是如何返回隨機(jī)的瀏覽器身份的 ,示例代碼:

        from?fake_useragent?import?UserAgent
        ua?=?UserAgent()

        ua.ie
        #?Mozilla/5.0?(Windows;?U;?MSIE?9.0;?Windows?NT?9.0;?en-US);
        ua.msie
        #?Mozilla/5.0?(compatible;?MSIE?10.0;?Macintosh;?Intel?Mac?OS?X?10_7_3;?Trident/6.0)'
        ua['Internet?Explorer']
        #?Mozilla/5.0?(compatible;?MSIE?8.0;?Windows?NT?6.1;?Trident/4.0;?GTB7.4;?InfoPath.2;?SV1;?.NET?CLR?3.3.69573;?WOW64;?en-US)
        ua.opera
        #?Opera/9.80?(X11;?Linux?i686;?U;?ru)?Presto/2.8.131?Version/11.11
        ua.chrome
        #?Mozilla/5.0?(Windows?NT?6.1)?AppleWebKit/537.2?(KHTML,?like?Gecko)?Chrome/22.0.1216.0?Safari/537.2'
        ua.google
        #?Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_7_4)?AppleWebKit/537.13?(KHTML,?like?Gecko)?Chrome/24.0.1290.1?Safari/537.13
        ua['google?chrome']
        #?Mozilla/5.0?(X11;?CrOS?i686?2268.111.0)?AppleWebKit/536.11?(KHTML,?like?Gecko)?Chrome/20.0.1132.57?Safari/536.11
        ua.firefox
        #?Mozilla/5.0?(Windows?NT?6.2;?Win64;?x64;?rv:16.0.1)?Gecko/20121011?Firefox/16.0.1
        ua.ff
        #?Mozilla/5.0?(X11;?Ubuntu;?Linux?i686;?rv:15.0)?Gecko/20100101?Firefox/15.0.1
        ua.safari
        #?Mozilla/5.0?(iPad;?CPU?OS?6_0?like?Mac?OS?X)?AppleWebKit/536.26?(KHTML,?like?Gecko)?Version/6.0?Mobile/10A5355d?Safari/8536.25

        #?and?the?best?one,?random?via?real?world?browser?usage?statistic
        ua.random

        25、reddit:reddit.com?網(wǎng)站的源碼,通過(guò)這個(gè)項(xiàng)目,可以學(xué)習(xí) Python 在構(gòu)建大型項(xiàng)目中的使用、項(xiàng)目結(jié)構(gòu)、代碼風(fēng)格、Python 技巧的使用方法等。安裝教程

        26、httpstat:httpstat 美化了?curl?的結(jié)果,使得結(jié)果更加可讀。同時(shí)它無(wú)依賴(lài)、兼容 Python3、一共才 300 多行。還可以顯示 HTTP 請(qǐng)求的每個(gè)過(guò)程中消耗的時(shí)間,如下圖:

        27、PyMySQL:純 Pyton 寫(xiě)的 MySQL 庫(kù),純 Python 的好處就是可以運(yùn)行在任何裝有 Python 解釋器(CPython、PyPy、IronPython)的平臺(tái)上。相對(duì)于?MySQLdb?性能幾乎一樣,使用方法也一樣,但是?PyMySQL 安裝方法極其簡(jiǎn)單——pip install PyMySQL,PyMySQL 使用示例代碼:

        #?下面為例子需要的數(shù)據(jù)庫(kù)的建表語(yǔ)句
        CREATE?TABLE?`users`?(
        ????`id`?int(11)?NOT?NULL?AUTO_INCREMENT,
        ????`email`?varchar(255)?COLLATE?utf8_bin?NOT?NULL,
        ????`password`?varchar(255)?COLLATE?utf8_bin?NOT?NULL,
        ????PRIMARY?KEY?(`id`)
        )?ENGINE=InnoDB?DEFAULT?CHARSET=utf8?COLLATE=utf8_bin
        AUTO_INCREMENT=1?;
        #?-*-?coding:?utf-8?-*-
        import?pymysql.cursors

        #?連接數(shù)據(jù)庫(kù)
        connection?=?pymysql.connect(host='localhost',
        ?????????????????????????????user='user',
        ?????????????????????????????password='passwd',
        ?????????????????????????????db='db',
        ?????????????????????????????charset='utf8mb4',
        ?????????????????????????????cursorclass=pymysql.cursors.DictCursor)

        try:
        ????with?connection.cursor()?as?cursor:
        ????????#?創(chuàng)建一個(gè)新的紀(jì)錄(record)
        ????????sql?=?"INSERT?INTO?`users`?(`email`,?`password`)?VALUES?(%s,?%s)"
        ????????cursor.execute(sql,?('[email protected]',?'very-secret'))

        ????#?連接不會(huì)自動(dòng)提交,所以你想下面要調(diào)用?commit?方法,存儲(chǔ)對(duì)數(shù)據(jù)庫(kù)的改動(dòng)
        ????connection.commit()

        ????with?connection.cursor()?as?cursor:
        ????????sql?=?"SELECT?`id`,?`password`?FROM?`users`?WHERE?`email`=%s"
        ????????cursor.execute(sql,?('[email protected]',))

        ????????#?獲取一條的紀(jì)錄(record)
        ????????result?=?cursor.fetchone()
        ????????print(result)??#?結(jié)果輸出:{'password':?'very-secret', 'id': 1}
        finally:
        ????connection.close()??#?操作完數(shù)據(jù)庫(kù)一要記得調(diào)用?close?方法,關(guān)閉連接

        28、flask-limiter:一個(gè) Flask 的擴(kuò)展庫(kù),它可以根據(jù)訪問(wèn)者的 IP 限制其訪問(wèn)頻率、次數(shù)等。示例代碼如下:

        from?flask?import?Flask
        from?flask_limiter?import?Limiter
        from?flask_limiter.util?import?get_remote_address

        app?=?Flask(__name__)
        limiter?=?Limiter(
        ????app,
        ????key_func=get_remote_address,
        ????global_limits=["2?per?minute",?"1?per?second"],
        )

        @app.route("/slow")
        @limiter.limit("1?per?day")
        def?slow():
        ????return?"24"

        @app.route("/fast")
        def?fast():
        ????return?"42"

        @app.route("/ping")
        @limiter.exempt
        def?ping():
        ????return?'PONG'

        app.run()

        29、ngrok:一個(gè)十分方便、好用的內(nèi)網(wǎng)穿透工具,它可以把本地某個(gè)端口的服務(wù),通過(guò)一個(gè)安全隧道,映射到公網(wǎng)的一個(gè)地址。同時(shí)它提供了一個(gè) Web 頁(yè)面,展示了每個(gè)請(qǐng)求、響應(yīng)的所有信息,便于調(diào)試本地的程序?;镜氖褂梅椒ㄈ缦拢?/p>

        ngrok?協(xié)議?本地服務(wù)監(jiān)聽(tīng)的端口
        ngrok?http?8000

        創(chuàng)建成功會(huì)返回公網(wǎng)地址,然后通過(guò)該地址就可以訪問(wèn)到本地的服務(wù)。
        本地訪問(wèn)?http://localhost:4040,就可以查看關(guān)于每個(gè)請(qǐng)求、響應(yīng)的相關(guān)數(shù)據(jù)

        30、glances:一個(gè)可以讓你一目了然你的系統(tǒng)情況(類(lèi) (h)top)的工具,它界面友好,安裝方便:pip install glances

        31、saythanks.io:Kennethreitz 寫(xiě)的一個(gè)簡(jiǎn)單的網(wǎng)站(基于 Flask),用于向開(kāi)源項(xiàng)目作者發(fā)送感謝郵件的 Web App。該項(xiàng)目結(jié)構(gòu)簡(jiǎn)單,可以用來(lái)學(xué)習(xí)大神是如何快速開(kāi)發(fā) Web 項(xiàng)目、方法、代碼風(fēng)格、開(kāi)發(fā)常用庫(kù)。而且該項(xiàng)目的意義也特別好:感謝開(kāi)源項(xiàng)目的作者,愿開(kāi)源社區(qū)越來(lái)越好,網(wǎng)站地址

        32、locust:模擬用戶(hù)行為的負(fù)載測(cè)試工具,包含友好的 Web 頁(yè)面,如下圖:

        33、jumpserver:Jumpserver 是一款由 Python 編寫(xiě)開(kāi)源的跳板機(jī)(是一類(lèi)可作為跳板批量操作遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)設(shè)備)系統(tǒng),實(shí)現(xiàn)了跳板機(jī)應(yīng)有的功能?;?SSH 協(xié)議來(lái)管理,客戶(hù)端無(wú)需安裝 agent。支持常見(jiàn) Linux 系統(tǒng),效果如下:

        34、sh:sh 是一個(gè)成熟,用于替代 subprocess,它允許你調(diào)用任何程序,就像它是一個(gè)函數(shù),支持 Python2.6 - 3.5

        from?sh?import?ifconfig
        print?ifconfig("eth0")

        35、fastText.py:fastText 簡(jiǎn)而言之,就是把文檔中所有詞通過(guò) lookup table 變成向量,取平均后直接用線性分類(lèi)器得到分類(lèi)結(jié)果。fastText 的實(shí)現(xiàn)

        36、mongoaudit:強(qiáng)大的 MongoDB 滲透測(cè)試工具,用于發(fā)掘 MongoDB 漏洞、并提出改善方法。

        • 安裝:pip install mongoaudit
        • 運(yùn)行:python mongoaudit

        37、mycli:mycli 是一個(gè)帶語(yǔ)法高亮、自動(dòng)補(bǔ)全的 MySQL 命令行客戶(hù)端工具。例如,連接數(shù)據(jù)庫(kù)方法:mycli -h localhost -u 用戶(hù)名 數(shù)據(jù)庫(kù)

        38、python-fire:Fire 是 Google 開(kāi)源的 Python 庫(kù),可自動(dòng)將您的代碼轉(zhuǎn)變成 CLI,無(wú)需您做任何額外工作。您不必定義參數(shù),設(shè)置幫助信息,或者編寫(xiě)定義代碼運(yùn)行方式的 main 函數(shù)。相反,您只需從 main 模塊調(diào)用“Fire”函數(shù),其余工作全部交由 Python Fire 來(lái)完成。示例代碼如下:

        import?fire
        class?Example(object):
        ????def?hello(self,?name='world'):
        ????????"""Says?hello?to?the?specified?name."""
        ????????return?'Hello?{name}!'.format(name=name)

        def?main():
        ????fire.Fire(Example)
        if?__name__?==?'__main__':
        ????main()

        #?在終端中調(diào)用效果如下:
        $?./example.py?hello
        Hello?world!
        $?./example.py?hello?David
        Hello?David!
        $?./example.py?hello?--name=Google
        Hello?Google!

        39、ngxtop:解析 nginx 訪問(wèn)日志并格式化輸出有用的信息,可以用來(lái)實(shí)時(shí)了解你的服務(wù)器正在發(fā)生的情況。安裝命令?pip install ngxtop,輸出示例如下:

        $?ngxtop
        running?for?411?seconds,?64332?records?processed:?156.60?req/sec

        Summary:
        |???count?|???avg_bytes_sent?|???2xx?|???3xx?|???4xx?|???5xx?|
        |---------+------------------+-------+-------+-------+-------|
        |???64332?|?????????2775.251?|?61262?|??2994?|????71?|?????5?|

        Detailed:
        |?request_path?????????????????????????????|???count?|???avg_bytes_sent?|???2xx?|???3xx?|???4xx?|???5xx?|
        |------------------------------------------+---------+------------------+-------+-------+-------+-------|
        |?/abc/xyz/xxxx????????????????????????????|???20946?|??????????434.693?|?20935?|?????0?|????11?|?????0?|
        |?/xxxxx.json??????????????????????????????|????5633?|?????????1483.723?|??5633?|?????0?|?????0?|?????0?|
        |?/xxxxx/xxx/xxxxxxx???????????????????????|????3624?|?????????7830.236?|??3621?|?????0?|?????3?|?????0?|
        |?/static/js/minified/utils.min.js?????????|????3031?|?????????1781.155?|??2104?|???927?|?????0?|?????0?|

        40、algorithms:基本算法、數(shù)據(jù)結(jié)構(gòu)的 Python 實(shí)現(xiàn)

        .
        ├──?array
        │???├──?circular_counter.py
        │???└──?...
        ├──?backtrack
        │???├──?anagram.py
        │???└──?...
        ├──?bfs
        │???├──?shortest_distance_from_all_buildings.py
        │???└──?word_ladder.py
        ├──?bit
        │???├──?count_ones.py
        │???└──?...
        │???└──?traversal.py
        └──?等等

        41、searx:分分鐘打造一個(gè)聚合的搜索引擎,使用簡(jiǎn)單,部署方便。拓展方便,基于插件式的管理。演示地址

        42、grequests:Rquests + Gevent 讓異步 HTTP 變得簡(jiǎn)單、人性化。示例代碼:

        >>>?import?grequests
        >>>?def?exception_handler(request,?exception):
        ...????print?"Request?failed"

        >>>?reqs?=?[
        ...????grequests.get('http://httpbin.org/delay/1',?timeout=0.001),
        ...????grequests.get('http://fakedomain/'),
        ...????grequests.get('http://httpbin.org/status/500')]
        >>>?grequests.map(reqs,?exception_handler=exception_handler)
        Request?failed
        Request?failed
        [None,?None,?]

        43、explainshell:一個(gè)可以解析 Linux 命令的網(wǎng)站,它可以給出命令的解釋和其參數(shù)的解釋?zhuān)纾?code style="overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;">ps -aux|grep python,在線演示

        44、certbot:免費(fèi)的自動(dòng)啟用和部署 HTTPS 的工具,讓你的網(wǎng)站開(kāi)啟 HTTPS 變得簡(jiǎn)單快捷。在部署教程頁(yè)面選擇服務(wù)器的操作系統(tǒng)和 Web 服務(wù)器,之后根據(jù)給出的步驟一步步的執(zhí)行命令就行了,部署教程

        45、musicbox:基于 Python 編寫(xiě)的網(wǎng)易云音樂(lè)命令行版本,使用起來(lái)簡(jiǎn)單優(yōu)雅,能夠快速安裝及使用

        46、django-blog-tutorial:基于最新版 Django 1.10 和 Python 3.5,通過(guò) 26 篇教程一步步帶你使用 Django 從零開(kāi)發(fā)一個(gè)個(gè)人博客系統(tǒng),在實(shí)踐的同時(shí)掌握 Django 的開(kāi)發(fā)技巧,完成效果展示

        47、aredis:一款基于 Python3 asyncio 的異步 redis 客戶(hù)端,支持對(duì)于單實(shí)例,連接池, 哨兵以及集群。作者希望可以找到志同道合的小伙伴集思廣益,一起維護(hù)、優(yōu)化。示例代碼如下:

        >>>?import?asyncio
        ???>>>?from?aredis?import?StrictRedis
        ???>>>
        ???>>>?async?def?example():
        ???>>>??????client?=?StrictRedis(host='127.0.0.1',?port=6379,?db=0)
        ???>>>??????await?client.flushdb()
        ???>>>??????await?client.set('foo',?1)
        ???>>>??????assert?await?client.exists('foo')?is?True
        ???>>>??????await?client.incr('foo',?100)
        ???>>>
        ???>>>??????assert?int(await?client.get('foo'))?==?101
        ???>>>??????await?client.expire('foo',?1)
        ???>>>??????await?asyncio.sleep(0.1)
        ???>>>??????await?client.ttl('foo')
        ???>>>??????await?asyncio.sleep(1)
        ???>>>??????assert?not?await?client.exists('foo')
        ???>>>
        ???>>>?loop?=?asyncio.get_event_loop()
        ???>>>?loop.run_until_complete(example())

        48、freezegun:時(shí)間漫步模塊,模擬到某一個(gè)時(shí)間,使用簡(jiǎn)單方式多樣,實(shí)現(xiàn)了裝飾器、上下文等調(diào)用方式。示例代碼如下:

        from?freezegun?import?freeze_time
        import?datetime
        import?unittest

        @freeze_time("2012-01-14")
        def?test():
        ????assert?datetime.datetime.now()?==?datetime.datetime(2012,?1,?14)

        49、LearnPython:這一個(gè)以”擼代碼“的形式學(xué)習(xí) Python 的編程技巧的項(xiàng)目,針對(duì) Python 的一些語(yǔ)法特性力求通過(guò)代碼例子解釋該知識(shí)點(diǎn)、同時(shí)還有一些實(shí)踐項(xiàng)目,通過(guò)動(dòng)手實(shí)踐有助于知識(shí)的融會(huì)貫通。同時(shí)可以關(guān)注作者的知乎專(zhuān)欄學(xué)習(xí)更多的 Python 編程技巧

        50、getproxy:極簡(jiǎn)的抓取代理項(xiàng)目,無(wú)需配置。不僅提供了獲取代理腳本,同時(shí)可以通過(guò)該頁(yè)面,直接獲取可用代理(15min 更新、類(lèi)型包含http和https)

        51、syncPlaylist:在網(wǎng)易云音樂(lè)與 QQ 音樂(lè)之間同步歌單。易于使用、配置方便、代碼簡(jiǎn)單,用到的技術(shù):requests?+?beautifulsoup?以及?selenium?+?phantomjs

        52、GetSubtitles:通過(guò)拖曳視頻文件進(jìn)終端,一步下載字幕?到視頻對(duì)應(yīng)文件夾,并重命名字幕名稱(chēng)為視頻名稱(chēng)。Ubuntu 16.04、Windows 10上測(cè)試通過(guò),同時(shí)兼容 Python2、3。Python 的魅力之一就是可以快速實(shí)現(xiàn)一個(gè)適合自己的小工具 Cool ??

        53、huey:結(jié)合 redis 實(shí)現(xiàn)的輕量任務(wù)隊(duì)列,但是支持功能還是很多的:

        • 多進(jìn)程、多線程、協(xié)程
        • 任務(wù)定時(shí)執(zhí)行
        • 任務(wù)執(zhí)行失敗重試
        • 結(jié)果存儲(chǔ)

        54、simiki:一個(gè)簡(jiǎn)單的個(gè)人 Wiki 框架,便于快速搭建 Wiki 頁(yè)。使用 Markdown 書(shū)寫(xiě) Wiki, 生成靜態(tài) HTML 頁(yè)面。Wiki 源文件按目錄分類(lèi)存放, 方便管理維護(hù)。中文文檔

        55、pyecharts:Echarts+Python 實(shí)現(xiàn)的一個(gè)用于生成 Echarts 圖表的類(lèi)庫(kù)

        56、proxy_pool:基于 Python 的自建代理 IP 池服務(wù),通過(guò)網(wǎng)絡(luò)爬蟲(chóng)抓取互聯(lián)網(wǎng)上免費(fèi)的代理 IP,本地校驗(yàn)、剔除失效的代理IP,從而實(shí)現(xiàn)高可用的代理 IP 池。最后使用 Flask 搭建提供代理 IP 服務(wù),包括代理池刷新、無(wú)效代理刪除、代理獲取等。該項(xiàng)目設(shè)計(jì)文檔詳細(xì)、模塊結(jié)構(gòu)簡(jiǎn)明易懂,同時(shí)適合爬蟲(chóng)新手更好的學(xué)習(xí)爬蟲(chóng)技術(shù)

        57、WeiboSpider:分布式微博爬蟲(chóng),支持快速抓取和穩(wěn)定抓取兩種運(yùn)行模式。項(xiàng)目模塊邏輯清晰、注釋豐富、便于定制化自己的需求。同時(shí),對(duì)于小白用戶(hù),可以通過(guò)演示視頻快速入門(mén),也提供QQ群答疑,已經(jīng)持續(xù)維護(hù)一年多??孔V的項(xiàng)目,小伙伴們要趕快上車(chē)~

        58、pygorithm:一個(gè)幫助學(xué)習(xí)主要算法的庫(kù),可以通過(guò)理解這些算法的實(shí)現(xiàn),提高自己的算法水平。冒泡排序示例:

        >>>?from?pygorithm.sorting?import?bubble_sort
        >>>?my_list?=?[12,?4,?3,?5,?13,?1,?17,?19,?15]
        >>>?sorted_list?=?bubble_sort.sort(my_list)
        >>>?print(sorted_list)
        >>>?[1,?3,?4,?5,?12,?13,?15,?17,?19]

        59、newspaper:強(qiáng)大的提取 Web 的內(nèi)容、文章的庫(kù),支持多種語(yǔ)言,安裝命令?pip3 install newspaper3k。示例代碼:

        >>>?from?newspaper?import?Article

        >>>?url?=?'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'
        >>>?article?=?Article(url)

        >>>?article.download()

        >>>?article.html
        '

        >>>?article.parse()

        >>>?article.authors
        ['Leigh?Ann?Caldwell',?'John?Honway']

        >>>?article.publish_date
        datetime.datetime(2013,?12,?30,?0,?0)

        >>>?article.text
        'Washington?(CNN)?--?Not?everyone?subscribes?to?a?New?Year's?resolution...'

        >>>?article.top_image
        '
        http://someCDN.com/blah/blah/blah/file.png'

        >>>?article.movies
        ['
        http://youtube.com/path/to/link.com',?...]

        >>>?from?newspaper?import?Article
        >>>?url?=?'
        http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'

        >>>?a?=?Article(url,?language='
        zh')?#?Chinese

        >>>?a.download()
        >>>?a.parse()

        >>>?print(a.text[:150])
        香港行政長(zhǎng)官梁振英在各方壓力下就其大宅的違章建
        筑(僭建)問(wèn)題到立法會(huì)接受質(zhì)詢(xún),并向香港民眾道歉。
        梁振英在星期二(12月10日)的答問(wèn)大會(huì)開(kāi)始之際
        在其演說(shuō)中道歉,但強(qiáng)調(diào)他在違章建筑問(wèn)題上沒(méi)有隱瞞的
        意圖和動(dòng)機(jī)。?一些親北京陣營(yíng)議員歡迎梁振英道歉,
        且認(rèn)為應(yīng)能獲得香港民眾接受,但這些議員也質(zhì)問(wèn)梁振英有

        >>>?print(a.title)
        港特首梁振英就住宅違建事件道歉

        60、faker:用于生成假數(shù)據(jù)的庫(kù),支持多種語(yǔ)言,你值得擁有。示例代碼:

        fake.address()
        #?'遼寧省雪市靜安廉街b座?998259'

        fake.street_address()
        #?'巢湖街U座'

        fake.building_number()
        #?'x座'

        fake.city_suffix()
        #?'市'

        fake.latitude()
        #?Decimal('-0.295126')

        fake.province()
        #?'湖北省'

        61、binlog2sql:從 MySQL binlog 解析出你要的 SQL。根據(jù)不同選項(xiàng),提供如下功能

        • 數(shù)據(jù)快速回滾,閃回原理與實(shí)踐
        • 主從切換后新 master 丟數(shù)據(jù)的修復(fù)
        • 從 binlog 生成標(biāo)準(zhǔn)SQL,帶來(lái)的衍生功能

        62、pandas-tutorial:這套 pandas 教程包含從初級(jí)到進(jìn)階的內(nèi)容,適合初學(xué)者和希望進(jìn)階建立知識(shí)體系的數(shù)據(jù)科學(xué)從業(yè)者閱讀。作者還在持續(xù)更新高級(jí)內(nèi)容,你值得擁有

        63、pysheeet:Python 速查表,在線閱讀

        64、robobrowser:提供多種模擬操作網(wǎng)頁(yè)的庫(kù),比如獲得網(wǎng)頁(yè)內(nèi)容、訪問(wèn)鏈接、點(diǎn)擊按鈕、填充并提交表單、上傳文件。使用簡(jiǎn)單、API 友好。適用于想要通過(guò)腳本流程化操作,某些未提供這些操作接口的場(chǎng)景,示例代碼如下:

        #?上傳文件
        from?robobrowser?import?RoboBrowser

        #?Browse?to?a?page?with?an?upload?form
        browser?=?RoboBrowser()
        browser.open('http://cgi-lib.berkeley.edu/ex/fup.html')

        #?Find?the?form
        upload_form?=?browser.get_form()
        upload_form?????????????????????#?

        #?Choose?a?file?to?upload
        upload_form['upfile']???????????#?
        upload_form['upfile'].value?=?open('path/to/file.txt',?'r')

        #?Submit
        browser.submit(upload_form)

        65、ItChat:開(kāi)源的微信個(gè)人號(hào)SDK,提供了豐富的功能。從而使得 Python 調(diào)用微信、發(fā)送消息、傳輸文件等操作只需要編寫(xiě)極少的代碼,示例代碼如下:

        import?itchat

        itchat.auto_login()

        itchat.send('Hello,?filehelper',?toUserName='filehelper')

        66、records:Kenneth Reitz 大神的for Humans?系列,Records 是一個(gè)支持大多數(shù)主流關(guān)系數(shù)據(jù)庫(kù)的原生 SQL 查詢(xún)第三方庫(kù)。API 友好,使用簡(jiǎn)單、支持命令行模式、功能多樣。與此同時(shí)該庫(kù)只有 500 行代碼,可以當(dāng)作入門(mén)閱讀源碼的項(xiàng)目,同時(shí)學(xué)習(xí)大神的編程技巧與習(xí)慣,示例代碼如下:

        import?records

        db?=?records.Database('postgres://...')??#?連接數(shù)據(jù)庫(kù)
        rows?=?db.query('select?*?from?active_users')??#?執(zhí)行原生?SQL
        #?遍歷結(jié)果
        for?r?in?rows:
        ????print(r.name,?r.user_email)

        #?友好的?print?格式
        print(rows.dataset)
        #?username|active|name??????|user_email???????|timezone
        #?--------|------|----------|-----------------|--------------------------
        #?model-t?|True??|Henry?Ford|[email protected]|2016-02-06?22:28:23.894202

        #?支持將結(jié)果導(dǎo)出成不同格式
        print(rows.export('json'))??#?json
        print(rows.export('csv'))??#?csv
        print(rows.export('yaml'))?#?yaml
        rows.export('df')??#?pandas?的?df?對(duì)象
        with?open('report.xls',?'wb')?as?f:
        ????f.write(rows.export('xls'))??#?xls

        67、zdict:方便的終端字典工具,支持多種字典和參數(shù)、翻譯結(jié)果高亮、以及交互模式查詢(xún)。安裝命令?pip install zdict(僅支持 Python3)。查詢(xún)效果如下圖所示:

        68、joblib:使用 Python 方便的進(jìn)行并行計(jì)算,示例代碼如下:

        from?joblib?import?Parallel,?delayed
        from?math?import?sqrt
        Parallel(n_jobs=1)(delayed(sqrt)(i2)?for?i?in?range(10))

        69、tldr-python-client:Linux man 解釋一般都太長(zhǎng)了,很多時(shí)候我們就想用一些比較常用的命令,但卻記不起來(lái)。這個(gè)時(shí)候如果不 Google,就可以用?tldr(簡(jiǎn)化 man 的工程)。該項(xiàng)目為 Python 客戶(hù)端實(shí)現(xiàn)

        70、thefuck:在 Linux 命令行中,當(dāng)你輸入的命令有錯(cuò)誤后,直接輸入?fuck?就可以自動(dòng)執(zhí)行修復(fù)后的命令,效果圖如下:

        71、youtube-dl:強(qiáng)大的視頻下載工具,支持幾百個(gè)國(guó)內(nèi)外主流視頻網(wǎng)站。正如名字一樣,最初是為了下載 youtube 上的視頻而開(kāi)發(fā)的。如果有國(guó)外服務(wù)器的朋友,可以充分利用這個(gè)工具,下載 youtube 上的視頻,速度不要太爽。下面介紹安裝、下載視頻等命令:

        # 1\. 安裝命令:sudo pip install youtube-dl
        Installing?collected?packages:?youtube-dl
        Successfully?installed?youtube-dl-2017.12.14

        # 2\. 查看 URL 支持格式:youtube-dl --list-formats URL
        format?code??extension??resolution?note
        134??????????mp4????????450x360????DASH?video??449k?,?avc1.4d4015,?25fps,?video?only
        17???????????3gp????????176x144????small?,?mp4v.20.3,?mp4a.40.2@?24k
        36???????????3gp????????300x240????small?,?mp4v.20.3,?mp4a.40.2
        18???????????mp4????????450x360????medium?,?avc1.42001E,?mp4a.40.2@?96k
        43???????????webm???????640x360????medium?,?vp8.0,?vorbis@128k?(best)

        # 3\. 選擇格式下載視頻:youtube-dl -f 18 URL (18為mp4 450x360格式)
        [youtube:playlist]?Downloading?playlist?PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP?-?add?--no-playlist?to?just?download?video?JyLducMVYVg
        [youtube:playlist]?PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP:?Downloading?webpage
        [download]?Downloading?playlist:?情滿四合院完整版
        [youtube:playlist]?playlist?情滿四合院完整版:?Downloading?42?videos
        [download]?Downloading?video?1?of?42
        ...

        #?4\.?下載完成后,最后使用?https://github.com/houtianze/bypy?庫(kù)把下載的視頻同步到百度網(wǎng)盤(pán)上

        72、jieba:強(qiáng)大的 Python 分詞庫(kù),拿來(lái)直接用就好。示例代碼如下:

        #?encoding=utf-8
        import?jieba

        seg_list?=?jieba.cut("我來(lái)到北京清華大學(xué)",?cut_all=True)
        print("Full?Mode:?"?+?"/?".join(seg_list))??#?全模式

        seg_list?=?jieba.cut("我來(lái)到北京清華大學(xué)",?cut_all=False)
        print("Default?Mode:?"?+?"/?".join(seg_list))??#?精確模式

        seg_list?=?jieba.cut("他來(lái)到了網(wǎng)易杭研大廈")??#?默認(rèn)是精確模式
        print(",?".join(seg_list))

        seg_list?=?jieba.cut_for_search("小明碩士畢業(yè)于中國(guó)科學(xué)院計(jì)算所,后在日本京都大學(xué)深造")??#?搜索引擎模式
        print(",?".join(seg_list))

        【全模式】:?我/?來(lái)到/?北京/?清華/?清華大學(xué)/?華大/?大學(xué)

        【精確模式】:?我/?來(lái)到/?北京/?清華大學(xué)

        【新詞識(shí)別】:他, 來(lái)到, 了, 網(wǎng)易, 杭研, 大廈????(此處,“杭研”并沒(méi)有在詞典中,但是也被Viterbi算法識(shí)別出來(lái)了)

        【搜索引擎模式】:?小明, 碩士, 畢業(yè), 于, 中國(guó), 科學(xué), 學(xué)院, 科學(xué)院, 中國(guó)科學(xué)院, 計(jì)算, 計(jì)算所, 后, 在, 日本, 京都, 大學(xué), 日本京都大學(xué), 深造

        73、pydu:該庫(kù)將平時(shí)常用的數(shù)據(jù)結(jié)構(gòu)和工具都收錄其中,可供日常開(kāi)發(fā)的使用,同時(shí)方便學(xué)習(xí)與借鑒,豐富的文檔能幫助新手更好的理解和使用它。這些實(shí)用的模塊都是來(lái)自于開(kāi)源項(xiàng)目和貢獻(xiàn)者們的智慧,快來(lái)加入到這個(gè)項(xiàng)目中,讓它變得更加實(shí)用和豐富

        74、shell-functools:把函數(shù)式的編程帶入 shell,從而讓很多事情變得簡(jiǎn)單。通過(guò) Python 的高階函數(shù)和內(nèi)置模塊 os.path 與命令的管道結(jié)合,達(dá)到了強(qiáng)大、高效的功效。相比于單純的命令實(shí)現(xiàn)更加的直觀和容易理解,示例代碼如下:

        示例?1
        #?ls?查看當(dāng)前目錄下的文件
        >?ls?
        document.txt
        folder
        image.jpg

        #?通過(guò)?map?abspath?展示這些文件的絕對(duì)路徑
        >?ls?|?map?abspath
        /tmp/demo/document.txt
        /tmp/demo/folder
        /tmp/demo/image.jpg

        示例?2
        #?find?命令找到的文件和目錄
        >?find
        .
        ./folder
        ./folder/me.jpg
        ./folder/subdirectory
        ./folder/subdirectory/song.mp3
        ./document.txt
        ./image.jpg

        #?把找到的結(jié)果中的文件,重命名在末尾追加?.bak?(備份文件)
        >?find?|?filter?is_file?|?map?basename?|?map?append?".bak"
        me.jpg.bak
        song.mp3.bak
        document.txt.bak
        image.jpg.bak

        75、tqdm:強(qiáng)大、快速、易擴(kuò)展的 Python 進(jìn)度條庫(kù)。我想通過(guò)下面的示例代碼和效果展示圖,你會(huì)跑去給這個(gè)項(xiàng)目來(lái)個(gè) Star 的

        from?tqdm?import?tqdm
        for?i?in?tqdm(range(10000)):
        ????pass
        #?輸出結(jié)果:
        #?76%|████████████████████████████?????????|?7568/10000?[00:33<00:10,?229.00it/s]

        76、HAipproxy:使用 Scrapy+Redis 實(shí)現(xiàn)的高可用分布式 IP 代理池,為大型分布式爬蟲(chóng)提供高可用低延遲的代理 IP 資源。

        from?client.py_cli?import?ProxyFetcher
        args?=?dict(host='127.0.0.1',?port=6379,?password='123456',?db=0)
        #?這里`zhihu`的意思是,去和`zhihu`相關(guān)的代理ip校驗(yàn)隊(duì)列中獲取ip
        #?這么做的原因是同一個(gè)代理IP對(duì)不同網(wǎng)站代理效果不同
        fetcher?=?ProxyFetcher('zhihu',?strategy='greedy',?redis_args=args)
        #?獲取一個(gè)可用代理
        print(fetcher.get_proxy())
        #?獲取可用代理列表
        print(fetcher.get_proxies())?#?or?print(fetcher.pool)

        以知乎為目標(biāo)抓取網(wǎng)站,該代理IP池的實(shí)際性能測(cè)試結(jié)果如下:

        77、MovieHeavens:基于 Pyqt4 的電影天堂電影搜索工具,再也不用忍受各種廣告和點(diǎn)擊跳轉(zhuǎn)了

        78、WechatSogou:基于搜狗微信搜索的微信公眾號(hào)爬蟲(chóng)庫(kù),極易上手。示例代碼:

        import?wechatsogou

        ws_api?=?wechatsogou.WechatSogouAPI()
        ws_api.get_gzh_info('微信名稱(chēng)')

        79、Synonyms:中文近義詞工具包。支持自然語(yǔ)言理解的很多任務(wù):文本對(duì)齊、推薦算法、相似度計(jì)算、語(yǔ)義偏移、關(guān)鍵字提取、概念提取、自動(dòng)摘要、搜索引擎等。示例代碼如下:

        import?synonyms
        synonyms.seg("能量")

        80、pook:模擬 HTTP 請(qǐng)求結(jié)果的庫(kù),可用于單元測(cè)試等場(chǎng)景。采用裝飾器方式調(diào)用的示例代碼如下:

        import?pook
        import?requests

        @pook.get('http://httpbin.org/status/500',?reply=204)
        @pook.get('http://httpbin.org/status/400',?reply=200)
        def?fetch(url):
        ????return?requests.get(url)

        res?=?fetch('http://httpbin.org/status/400')
        print('#1?status:',?res.status_code)

        res?=?fetch('http://httpbin.org/status/500')
        print('#2?status:',?res.status_code)

        81、incubator-airflow:定時(shí)任務(wù)管理平臺(tái),管理和調(diào)度各種離線定時(shí)任務(wù),自帶 Web 管理界面。當(dāng)定時(shí)任務(wù)量達(dá)到百級(jí)別的時(shí)候,就無(wú)法再使用 crontab 有效、方便地管理這些任務(wù)了。該項(xiàng)目就是為了解決了這個(gè)問(wèn)題而誕生的

        82、wtfpython:有趣、令人驚訝(坑爹)、鮮為人知的 Python 代碼片段集合。中文

        83、redis-faina:Redis 性能分析器。提供兩種模式分析模式:命令實(shí)時(shí)、讀取日志。其原理是使用 Redis MONITOR 命令,將該命令的結(jié)果通過(guò)管道傳遞給 redis-faina 腳本,腳本將返回的信息解析,并匯成總成統(tǒng)計(jì)信息。具體信息如下所示:

        注意:分析非常閑的 redis 實(shí)例時(shí),分析的結(jié)果可能偏差的很多。
        時(shí)間單位為微秒:ms = 1.0?× 10^-6 seconds

        Overall?Stats
        ========================================
        #?總命令數(shù)
        Lines?Processed???10
        #?QPS
        Commands/Sec??????1.03???????

        #?出現(xiàn)最多的?key?的前綴
        Top?Prefixes???????????????????????????
        ========================================
        startchart???9?(90.00%)

        #?請(qǐng)求最多的key
        Top?Keys????????????????????????????????
        ========================================
        startchart:521xueweihan/hellogithub???9?(90.00%)

        #?請(qǐng)求最多的命令
        Top?Commands????????????????????????
        ========================================
        get???9?(90.00%)

        #?請(qǐng)求響應(yīng)時(shí)間的分布
        Command?Time?(microsecs)???????
        ========================================
        Median???583914.0
        75%??????637395.0
        90%??????5703923.0
        99%??????5703923.0

        #?總耗時(shí)最多的命令
        Heaviest?Commands?(microsecs)
        ========================================
        get???9746157.0

        #?慢請(qǐng)求列表
        Slowest?Calls?????????????????????????????
        ========================================
        5703923.0???"get"?"startchart:521xueweihan/hellogithub"
        637395.0????"get"?"startchart:521xueweihan/hellogithub"
        633909.0????"get"?"startchart:521xueweihan/hellogithub"
        583914.0????"get"?"startchart:521xueweihan/hellogithub"
        569207.0????"get"?"startchart:521xueweihan/hellogithub"
        548745.0????"get"?"startchart:521xueweihan/hellogithub"
        545493.0????"get"?"startchart:521xueweihan/hellogithub"
        523571.0????"get"?"startchart:521xueweihan/hellogithub"

        84、marshmallow:使用類(lèi)似于 ORM 的語(yǔ)法,序列化、反序列化 Python 對(duì)象??梢詫⑿蛄谢膶?duì)象呈現(xiàn)為標(biāo)準(zhǔn)格式,適用于例如數(shù)據(jù)校驗(yàn)、返回 HTTP API 的 JSON。示例代碼如下:

        from?datetime?import?date
        from?marshmallow?import?Schema,?fields,?pprint

        class?ArtistSchema(Schema):
        ????name?=?fields.Str()

        class?AlbumSchema(Schema):
        ????title?=?fields.Str()
        ????release_date?=?fields.Date()
        ????artist?=?fields.Nested(ArtistSchema())

        bowie?=?dict(name='David?Bowie')
        album?=?dict(artist=bowie,?title='Hunky?Dory',?release_date=date(1971,?12,?17))

        schema?=?AlbumSchema()
        result?=?schema.dump(album)
        pprint(result,?indent=2)
        #?輸出如下
        #?{?'artist':?{'name':?'David?Bowie'},
        #???'release_date':?'1971-12-17',
        #???'title':?'Hunky?Dory'}

        85、tenacity:使用該庫(kù)可以?xún)?yōu)雅地實(shí)現(xiàn)各種需求的重試。示例代碼如下:

        from?tenacity?import?retry,?stop_after_attempt

        #?通過(guò)裝飾器,實(shí)現(xiàn)遇到異常重試3次
        @retry(stop=stop_after_attempt(3))?
        def?get_data(url):
        ????response?=?requests.get(url)
        ????response_json?=?response.json()

        86、unimatrix:模擬“黑客帝國(guó)”影片中的終端動(dòng)畫(huà)腳本

        87、pudb:基于控制臺(tái)的全屏 Python 可視化調(diào)試器。比 pdb 好用太多了,特性:

        • 源碼語(yǔ)法高亮,棧、斷點(diǎn)、變量可見(jiàn)并且一直動(dòng)態(tài)更新。變量展示還有很多可以定制化的功能。
        • 基于鍵盤(pán),簡(jiǎn)單高效。支持 VI 的鼠標(biāo)移動(dòng)。還支持 PDB 的某些命令
        • 支持查找源代碼,可以使用 m 代用 module browser 查看載入的模塊
        • 斷點(diǎn)設(shè)置。鼠標(biāo)移到某行代碼,按 b,然后可以在斷點(diǎn)窗口編輯斷點(diǎn)

        88、Scylla:一款高質(zhì)量的免費(fèi)代理 IP 池工具,僅支持 Python 3.6。中文文檔,特性如下:

        • 自動(dòng)化的代理 IP 爬取與驗(yàn)證
        • 易用的 JSON API
        • 簡(jiǎn)單但美觀的 web 用戶(hù)界面,基于 TypeScript 和 React(例如,代理的地理分布)
        • 最少僅用一行代碼即可與 Scrapy 和 requests 進(jìn)行集成
        • 等等

        89、hue:開(kāi)源的 Apache Hadoop UI 系統(tǒng)。通過(guò)使用 Hue 我們可以在瀏覽器端的 Web 控制臺(tái)上與 Hadoop 集群進(jìn)行交互來(lái)分析處理數(shù)據(jù)。核心功能:

        • 數(shù)據(jù)可視化
        • SQL 編輯器,支持 Hive、Impala、MySQL等
        • 可進(jìn)行 workflow 的編輯、查看

        90、FeelUOwn:一個(gè)符合 Unix 哲學(xué)的跨平臺(tái)的音樂(lè)播放器,主要面向 Linux/macOS 用戶(hù)。特性:

        • 安裝簡(jiǎn)單,新手友好
        • 默認(rèn)提供國(guó)內(nèi)各音樂(lè)平臺(tái)插件(網(wǎng)易云、蝦米、QQ)
        • 較強(qiáng)的可擴(kuò)展性可以滿足大家折騰的欲望
        • 核心模塊有較好文檔和測(cè)試覆蓋

        91、tinydb:TinyDB 是使用純 Python 編寫(xiě)的 NoSQL 數(shù)據(jù)庫(kù),使用 json 文件存儲(chǔ)數(shù)據(jù)。它區(qū)別于 SQLite 的關(guān)系性數(shù)據(jù)庫(kù)。同樣的小、不需要依賴(lài)外部服務(wù)器。適用于桌面程序、客戶(hù)端,不適用于 Web 應(yīng)用、高性能的數(shù)據(jù)查詢(xún)。友好的 API,示例代碼:

        >>>?from?tinydb?import?TinyDB,?Query
        >>>?db?=?TinyDB('path/to/db.json')
        >>>?User?=?Query()
        >>>?db.insert({'name':?'John',?'age':?22})
        >>>?db.search(User.name?==?'John')
        [{'name':?'John',?'age':?22}]

        92、TGmeetup:搜集、整理、展示、報(bào)名技術(shù)類(lèi)線下聚會(huì)的命令行工具,讓使用者可以更加方便、及時(shí)的獲取技術(shù)類(lèi)活動(dòng)資訊

        93、termtosvg:Python 寫(xiě)的終端記錄器。通過(guò)命令?termtosvg?運(yùn)行該工具,然后在終端執(zhí)行你要展示的命令,最終輸入?exit?命令結(jié)束錄制,本地會(huì)生成一份 SVG 動(dòng)畫(huà),可用于分享、展示終端操作。效果如下:

        94、cx-extractor-python:這是一個(gè)對(duì)網(wǎng)頁(yè)正文進(jìn)行抽取的工具。?cx-extractor?算法的 python 版本,改進(jìn)了原有算法,使其支持中英文,對(duì)新聞?lì)惥W(wǎng)頁(yè)正文抽取效果較好。示例代碼:

        from?crawler.cx_extractor_Python?import??cx_extractor_Python
        cx?=?cx_extractor_Python()
        test_html?=?cx.getHtml('http://news.163.com/16/0101/10/BC84MRHS00014AED.html')
        content?=?cx.filter_tags(test_html)
        s?=?cx.getText(content)
        print(s)

        95、awslogs:一個(gè)簡(jiǎn)單的命令行工具,用于在本地查詢(xún) Amazon CloudWatch 日志,強(qiáng)大的支持多實(shí)例日志匯總查看。簡(jiǎn)單的查看命令:awslogs get /var/logs/syslog ALL -s1d

        96、CUP:CUP 基礎(chǔ)庫(kù)是百度開(kāi)源的 Python 語(yǔ)言基礎(chǔ)庫(kù),致力將 DEV 從涉及底層操作、Util 操作類(lèi)解放出來(lái),使其更關(guān)注構(gòu)建 service 上層業(yè)務(wù)邏輯。目前已涵蓋了構(gòu)建一個(gè)服務(wù)的各個(gè)方面,大家可以從基礎(chǔ)庫(kù)的代碼結(jié)構(gòu)、wiki、doc 中進(jìn)行簡(jiǎn)單了解。

        cup
        ????|--?cache.py????????????????module??????????????緩存相關(guān)模塊?(?Memory?cache?related?module?)
        ????|--?decorators.py???????????module??????????????python?修飾符,比如?@Singleton?單例模式?(Decorators?of?python)
        ????|--?err.py??????????????????module??????????????異常?exception?類(lèi),?Exception?classes?for?CUP
        ????|--?__init__.py?????????????module??????????????默認(rèn)__init__.py,?Default?__init__.py
        ????|--?log.py??????????????????module??????????????打印日志類(lèi),CUP?的打印日志比較簡(jiǎn)潔、規(guī)范,設(shè)置統(tǒng)一、簡(jiǎn)單(cup?logging?module)
        ????|--?mail.py?????????????????module??????????????發(fā)送郵件?(?CUP?Email?module?(send?emails))
        ????|--?net?????????????????????package?????????????網(wǎng)絡(luò)相關(guān)操作(?Network?operations,?such?as?net?handler?parameter?tuning?)
        ????|--?oper.py?????????????????module??????????????一些混雜操作(Mixin?operations)
        ????|--?platforms.py????????????module??????????????跨平臺(tái)、平臺(tái)相關(guān)操作函數(shù)(Cross-platform?operations)
        ????|--?res?????????????????????package?????????????資源獲取、實(shí)時(shí)用量統(tǒng)計(jì)等,所有在?/prco?可獲得的系統(tǒng)資源、進(jìn)程、設(shè)備等信息?(?Resource?usage?queries?(in?/proc)、Prcoess?query、etc?)
        ????|--?shell???????????????????package?????????????命令?Shell?操作?pakcage?(?Shell?Operations、cross-hosts?execution?)
        ????|--?services????????????????package?????????????構(gòu)建服務(wù)支持的類(lèi)(比如心跳、線程池?based?執(zhí)行器等等)?Heartbeat、Threadpool?based?executors、file?service、etc
        ????|-- thirdp ???????????????? package ????????????第三方依賴(lài)純 Py 模塊( Third-party modules:pexpect、httplib2 )
        ????|--?timeplus.py?????????????module??????????????時(shí)間相關(guān)的模塊(Time?related?module)
        ????|--?unittest.py?????????????module??????????????單元測(cè)試支持模塊(?Unittest、assert、noseClass?)
        ????|--?util????????????????????package?????????????線程池、可打斷線程、語(yǔ)義豐富的配置文件支持(?ThreadPool、Interruptable-Thread、Rich?configuration、etc?)
        ????|--?version.py??????????????module??????????????內(nèi)部版本文件,CUP?Version

        97、supervisor:Python 開(kāi)發(fā)的一個(gè) C/S 服務(wù),是 Linux/Unix 系統(tǒng)下的一個(gè)進(jìn)程管理工具,不支持 Windows 系統(tǒng)。它可以很方便的監(jiān)聽(tīng)、啟動(dòng)、停止、重啟一個(gè)或多個(gè)進(jìn)程。用 Supervisor 管理的進(jìn)程,當(dāng)一個(gè)進(jìn)程意外被殺死,supervisort 監(jiān)聽(tīng)到進(jìn)程死后,會(huì)自動(dòng)將它重新啟動(dòng),很方便的做到進(jìn)程自動(dòng)恢復(fù)的功能,提高系統(tǒng)、服務(wù)的穩(wěn)定性,多用于生產(chǎn)環(huán)境

        98、himawaripy:一個(gè) Python3 腳本,它會(huì)定時(shí)(需設(shè)置定時(shí)任務(wù))抓取由日本 Himawari 8 氣象衛(wèi)星拍攝的接近實(shí)時(shí)的地球照片,并將它設(shè)置成你的桌面背景

        99、loguru:一個(gè)讓 Python 記錄日志變得簡(jiǎn)單的庫(kù)

        100、weixin_crawler:基于 Scrapy、Flask、Echarts、Elasticsearch 等實(shí)現(xiàn)的爬蟲(chóng)。自帶 UI 界面、分析報(bào)告、搜索功能

        python爬蟲(chóng)人工智能大數(shù)據(jù)公眾號(hào)

        瀏覽 100
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            哦┅┅快┅┅用力啊┅3p | 午夜免费看黄 | 91逼逼| 日本伦理按摩 | 骚逼成人| 日本丰满毛茸茸熟妇 | 国产一卡二卡三卡在线观看 | 91色噜噜狠狠色婷婷 | 极品美女毛片 | ktv偷拍视频一区二区 |