引言
眾所周知,python最強大的地方在於,python社區彙總擁有豐富的第三方庫,開源的特性,使得有越來越多的技術開發者來完善。今天我要分享的是:如何來獲取各個文件格式的文本信息
一、Python處理html網頁信息
html類型的文本數據,內容是由前端代碼書寫的標籤+文本數據的格式,可以直接在chrome瀏覽器打開,清楚 的展示出文本的格式。
python 獲取html文件的內容和獲取txt文件的方法相同,直接打開文件讀取就可以了。
讀取代碼如下:
file 是html文件的文本內容。是一個網頁標籤的格式內容。
二、Python處理excel表格信息
python擁有直接操作excel表格的第三方庫xlwt,xlrd。調用對應的方法就可以讀寫excel表格數據。
讀取excel操作代碼如下:
其中row是表格數據對應的行數, cell獲取具體行數,列數的具體數據。
三、Python讀取doc文檔數據
python讀取doc文檔是最麻煩的。處理邏輯複雜。處理的方式也有很多種。
python 沒有直接處理doc文檔的第三方庫,但是有一個處理docx的第三方庫。可以通過將doc文件轉換為docx文件,再調用第三方python庫pydocx來讀取doc文檔的內容。
這裡需要注意的是,不要直接修改doc的後綴來修改成docx文件。直接通過修改後綴獲取的docx文件,pydocx無法讀取內容。
我們可以使用另外一個庫來修改doc為docx。
具體代碼如下:
代碼所需的包接口:
python處理docx文檔的方法有很多種,具體使用情況,根據個人需求來決定。
No.1 解壓docx文件
docx文件的原理,本質上就是一個壓縮的zip文件,通過解壓以後,就可以獲取原來文件的各個內容。
docx解壓後的文件結構如下:
docx文件的文本內容存儲結構如下:
文本內容存儲於word/document.xml文件中。
第一種方法,我們就可以先將docx還原成zip壓縮文件,再解壓zip文件,讀取word/document.xml文件的內容就ok了。
具體操作代碼如下:
最後獲取到的就是docx文檔的所有文本數據了。
No.2 將docx文檔轉換成python能夠處理的文本格式
第一種方法,是依據docx文檔的原理來獲取數據,流程有點繁瑣,有沒有能直接讀取docx文檔內容的方法呢?答案,肯定是沒有的,別想了,洗洗回家睡吧。
直接讀取docx文檔的方法沒有,有沒有能夠將docx文檔轉換成python能夠輕鬆處理的文本格式呢?
這個可以有,前面說了,python擁有大量豐富的第三方庫(先誇一波我大python),歷經千辛萬苦終於找到了,一個能轉換docx文檔格式的第三方庫,pydocx,pydocx庫中有個方法pydocx.to_html()就可以直接將docx文檔轉換為html文件,怎麼樣?意不意外,驚喜不驚喜!
第二種方法,轉換文本格式的代碼如下:
獲取到的response是html文件內容。
四、Python處理mht文件
mht文件是一種只能在IE瀏覽器上展示的文本格式,在chrome瀏覽器中打開是一堆的亂碼。
No.1 偽造IE請求mht文件內容
最基礎的讀取mht文本的方法就是偽造IE瀏覽器請求。
調用requests庫,發送get請求網頁鏈接,構造IE的請求頭信息。
理論上來說,這種方法是可行的。但是呢,不建議用,原因大家都懂得。
No.2 轉換文件格式
mht文件能否修改成其他文件格式來直接讀取呢?
docx,不行;html,不行;excel,更不用說了。
直接修改後綴得到的docx,無法讀取。
所以,我們想到的方法是什麼呢。沒錯,就是修改成doc文檔。
mht可以直接通過修改後綴轉換成doc文檔,doc文檔讀取文本內容的方法具體參考上面讀取doc文檔的方法。
如何獲取html文本的內容?
html文本的內容是網頁結構標籤數據,取出文本的方式是:re正則,或者xpath。
後續,小夥伴有需要的話,會再開一章詳細瞭解re,xapth的使用規則。
結尾
最後多說一句,很多人學Python過程中會遇到各種煩惱問題,沒有人解答容易放棄。小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,並在後臺私信小編:“01”即可領取.
閱讀更多 Python初學者入門 的文章