前面簡單的給BS4入了門,可是有一個地方卻引發了個人興趣,html
soup = BeautifulSoup(open("index.html"))
還有官方文檔裏的一段描述:"能夠傳入一段字符串或一個文件句柄"
open("index.html") 這看起來像是打開一個文件的操做,並且彷佛是.html後綴的文件,那麼,它只能打開這種類型的文件嗎?txt文件能夠打開嗎?或者我再喪心病狂一些,弄個doc文件看能不能打開?那來嘗試一下吧,仍是和之前同樣,用已知推出未知python
首先我隨便打開一個網頁的源碼,複製下來,並分別保存爲haha.html 、haha.txt和haha.doc,而後咱們使用上面的函數來試試看能不能成功打開函數
from bs4 import BeautifulSoup soup = BeautifulSoup(open(r"/home/ym/haha.html")) print soup.prettify()
來看看輸出學習
如今咱們再把代碼修改爲 haha.txt 看看是什麼結果,仍是同樣的輸出,那麼,haha.doc呢?編碼
一團亂碼,並且還報了一個編碼的錯誤,可是不要緊,至少證實是能夠打開的,可是,我又有了一個新的問題,文件的內容只能是html的網頁源碼嗎?能不能直接是文字或者是什麼的內容呢?我將文件裏面的內容換成了純中文,而後發現了一件神奇的事情code
它自動將個人文字弄成了html格式的代碼!!!!而後我又作死的將一張圖片放到word裏面讀取,結果仍是有輸出!!htm
這個嘗試至少說明了兩件事情圖片
BS4不止限定於讀取.html的文件,它還能夠讀取txt、doc等文件文檔
BS4不限於處理.html文件,它能夠自動爲文本添加標籤的方式將文本轉化爲html再進行處理字符串
先暫且無論這兩件事情有沒有用,至少能夠說爲咱們提供了一些思路,好比,我能不能使用這些特性來處理一些文檔什麼的呢?
這些會在後面深刻的學習中慢慢尋找答案,如今仍是準備進行一個實例吧