這里推薦的都是自己真正用過的,而且用過后無法自拔相見恨晚的庫答毫。
requests
自從有了requests褥民,老板再也不用擔心http相關的各種需求了。
這個庫是我安裝完python環(huán)境后第一個安裝的庫洗搂,裝上這個庫再開始寫代碼才有底氣消返,作者 Kenneth Reitz 是公認python領域代碼寫的最好的兩個人之一,多才多藝耘拇,年輕有為撵颊。關于此人的各種趣事和牛逼之處可以點擊閱讀原文。
只要跟http請求相關的用這個庫沒錯惫叛,專門為人類設計倡勇。
records
專為人類設計的SQL查詢庫,可以對接后端的各種關系數(shù)據(jù)庫挣棕,不需要關心任何細節(jié)译隘,只要一個url一個sql語句就搞定一切了。同時還提供了將各種查詢結果導出到各種格式(CSV, XLS, JSON, HTML Tables)的功能洛心。
就是這么簡潔優(yōu)雅固耘。作者跟上面requests庫的作者是同一個人。
maya
很多時候會遇到各種各樣的日期相關的處理词身。比如獲取個當前的時間戳啦厅目,時間格式的字符串解析成日期格式啦,把昨天的年月日轉成字符串啦等等法严,再加上日期格式本身就不固定损敷,有各種各樣的表現(xiàn)形式,有iso8601深啤,rfc3339等等拗馒。
Kenneth Reitz應該也是被各種日期之間的轉來轉去搞煩了,于是瑪雅出現(xiàn)了溯街。
Kenneth Reitz小哥應該是XXX For Humans專業(yè)戶诱桂,名下有各種各樣的For Humans庫。
fabric
現(xiàn)在分派一個任務給你呈昔,全新的操作系統(tǒng)挥等,部署一個10個節(jié)點的XXX集群,每個節(jié)點的環(huán)境都一樣堤尾,不過不同的節(jié)點配置文件格式和路徑一致肝劲,但是內容略有差別,比如每個節(jié)點自己的配置文件要寫入本地主機的內網(wǎng)IP和節(jié)點自身的ID(此ID從0遞增,第一臺ID是0辞槐,第二臺ID是1...)
怎么弄呢掷漱,第一個事情肯定是先把程序分發(fā)到各個機器。然后ssh登陸到各個機器榄檬,通過VIM打開每個配置文件切威,修改兩行...
像我這種對重復工作沒有絲毫耐心的人來說,這么搞3臺內心就已經發(fā)毛有砸鍵盤的沖動了丙号,要是中途再出點什么別的錯先朦,那真是要罵娘了。
在知道fabric之前就是這么過來的犬缨,那個時候有五個分布式模塊要部署喳魏,每個至少三個節(jié)點,不同的模塊配置文件都不一樣怀薛,部署完一套一個下午就過去了刺彩。
后來fabric拯救了我,花一個星期寫好代碼枝恋,只要一個命令创倔,五分鐘完事。自動分發(fā)焚碌,自動配置文件渲染畦攘,自動啟動。省出來的多余的時間干什么呢十电,沖一杯咖啡知押,愛干什么干什么,省下的時間就是自己的鹃骂。
peda
這是一個牛逼的GDB插件台盯,主要是給那些搞二進制安全的家伙用的,對于底層的C/C++程序員也能起到一定的輔助作用畏线。
自動打印出各種寄存器的值静盅,當前棧的值,而且提供了多種安全相關的選項寝殴,這個庫讓GDB更加順滑蒿叠。
Beautiful Soup
可以說是python爬蟲界最知名的一個庫了,可以從html中提取任何你想要的元素杯矩,用起來也非常簡單栈虚,提供了各種解析和遍歷方式袖外,Beautiful Soup會幫你節(jié)省數(shù)小時甚至數(shù)天的工作時間史隆。
scrapy
一個非常犀利的爬蟲框架。這個框架提供了一個爬蟲的流水線處理方式曼验,只需要按照scrapy提供的流程和接口寫自己的業(yè)務代碼就可以了泌射,多線程粘姜,隊列,http請求這些跟業(yè)務沒什么關系的代碼scrapy都幫忙搞定了熔酷。熟悉了套路之后可以說是一個爬蟲的生產車間孤紧,一天可以搞5個爬蟲。
我通常是scrapy結合requests和bs4一起用拒秘,既可以自己掌控爬蟲的細節(jié)包括session管理和元素提取号显,又可以利用scrapy提供的流水線處理方式。
names
這個庫主要是好玩躺酒,可以隨機生成各種各樣的名字押蚤,還能指定生成男人的名字和女人的名字,很多時候測試的時候有起名字綜合癥的同學可以使用這個庫生成原汁原味的英文名羹应。
效果好不好揽碘,誰用誰知道。
登高而招园匹,臂非加長也雳刺,而見者遠;順風而呼裸违,聲非加疾也掖桦,而聞者彰。假輿馬者供汛,非利足也滞详,而致千里;假舟楫者紊馏,非能水也料饥,而絕江河。君子生非異也朱监,善假于物也岸啡。