1.在數(shù)據(jù)庫(kù)中即時(shí)保存數(shù)據(jù):Dataset
當(dāng)我們想要在不知道最終數(shù)據(jù)庫(kù)表長(zhǎng)什么樣的情況下,快速收集數(shù)據(jù)并保存到數(shù)據(jù)庫(kù)中的時(shí)候,Dataset庫(kù)將是我們的最佳選擇。Dataset庫(kù)有一個(gè)簡(jiǎn)單但功能強(qiáng)大的API,因此我們可以很容易的把數(shù)據(jù)保存下來(lái),之后再進(jìn)行整理。
Dataset建立在SQLAlchemy之上,所以如果需要對(duì)它進(jìn)行擴(kuò)展,你會(huì)感到非常熟悉。使用Django內(nèi)建的inspectdb管理命令可以很容易地把底層數(shù)據(jù)庫(kù)模型導(dǎo)入Django中,這使得和現(xiàn)有數(shù)據(jù)庫(kù)一同工作不會(huì)出現(xiàn)任何障礙。
2.從網(wǎng)頁(yè)抓取數(shù)據(jù):BeautifulSoup
BeautifulSoup(一般寫作BS4)庫(kù)使得從HTML網(wǎng)頁(yè)中提取信息變得非常簡(jiǎn)單。當(dāng)我們需要把非結(jié)構(gòu)化或弱結(jié)構(gòu)化的HTML轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)的時(shí)候,就需要使用BeautifulSoup。用它來(lái)處理XML數(shù)據(jù)也是一個(gè)很好的選擇,否則XML的可讀性或許會(huì)很差。
3.和HTTP內(nèi)容打交道:Requests
當(dāng)需要和HTTP內(nèi)容打交道的時(shí)候,Requests毫無(wú)疑問(wèn)是最好的標(biāo)準(zhǔn)庫(kù)。當(dāng)我們想要抓取HTML網(wǎng)頁(yè)或連接API的時(shí)候,都離不開(kāi)Requests庫(kù)。同時(shí),它也有很好的文檔。
4.編寫命令行工具:Click
當(dāng)需要寫一個(gè)簡(jiǎn)單的Python腳本作為命令行工具的時(shí)候,Click是我最喜歡用的庫(kù)。它的API非常直觀,并且在實(shí)現(xiàn)時(shí)經(jīng)過(guò)了深思熟慮,我們只需要記住很少的幾個(gè)模式。它的文檔也很優(yōu)秀,這使得學(xué)習(xí)其高級(jí)特性更加容易。
5.對(duì)事物命名:PythonSlugify
眾所周知,命名是一件困難的事情。PythonSlugify是一個(gè)非常有用的庫(kù),它可以把一個(gè)標(biāo)題或描述轉(zhuǎn)成一個(gè)帶有特性的唯一標(biāo)識(shí)符。如果你正在做一個(gè)Web項(xiàng)目,并且你想要使用對(duì)搜索引擎優(yōu)化友好(SEO-friendly)的鏈接,那么,使用PythonSlugify可以讓這件事變得很容易。
6.和插件打交道:Pluggy
Pluggy庫(kù)相對(duì)較新,但是如果你想添加一個(gè)插件系統(tǒng)到現(xiàn)有應(yīng)用中,那么使用Pluggy是最好也是最簡(jiǎn)單的方式。如果你使用過(guò)pytest,那么實(shí)際上相當(dāng)于已經(jīng)使用過(guò)Pluggy了,雖然你還不知道它。
7.把CSV文件轉(zhuǎn)換到API中:DataSette
DataSette是一個(gè)神奇的工具,它可以很容易地把CSV文件轉(zhuǎn)換為全特性的只讀RESTJSONAPI,同時(shí),不要把它和Dataset庫(kù)混淆。Datasette有許多特性,包括創(chuàng)建圖表和geo(用于創(chuàng)建交互式地圖),并且很容易通過(guò)容器或第三方網(wǎng)絡(luò)主機(jī)進(jìn)行部署。
8.處理環(huán)境變量等:Envparse
如果你不想在源代碼中保存API密鑰、數(shù)據(jù)庫(kù)憑證或其他敏感信息,那么你便需要解析環(huán)境變量,這時(shí)候envparse是最好的選擇。Envparse能夠處理環(huán)境變量、ENV文件、變量類型,甚至還可以進(jìn)行預(yù)處理和后處理(例如,你想要確保變量名總是大寫或小寫的)。
以上內(nèi)容為大家介紹了用于業(yè)余項(xiàng)目的優(yōu)秀Python庫(kù),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/