Python3读取HTML文件
在學(xué)習(xí)《Designing Machine Learning Systems with Python》(中文名《機器學(xué)習(xí)系統(tǒng)設(shè)計——Python語言實現(xiàn)》)一書中,在第三章第二節(jié)第五小節(jié)(P68)讀取HTML文檔數(shù)據(jù)的代碼中。我發(fā)現(xiàn)有些不太懂,就把學(xué)習(xí)過程記錄下來。
首先,如果你在python3.6環(huán)境中照搬書中的代碼的話,你會得到這樣一個錯誤提示,修改方法可以看我之前的博客。
然后就可以正常運行了。
修改后代碼:
運行結(jié)果:
[[1. 1.][2. 2.][3. 3.]] [['whitefly']['thrip']['aphid']]我之所以寫這篇博客的原因是我在學(xué)習(xí)這個代碼時,發(fā)現(xiàn)一些不太明白的地方。主要有兩點,一個是在soup = BeautifulSoup(html, 'lxml') 這行代碼中,BeautifulSoup()函數(shù)有兩個輸入,而我常見的都是只有一個輸入,這里的第二個參數(shù)我好奇到底是什么;另一個不太清楚的是BeautifulSoup中find()和find_all()之間有什么區(qū)別。
第二個問題很好解決,只要在網(wǎng)上搜下查下BeautifulSoup的中文文檔就能明白。find()只返回尋找到的第一個匹配的參數(shù),find_all()則返回文檔中全部匹配的參數(shù)。
第一個問題在找到的中文文檔中剛開始沒有找到,后來在頁面的后邊找到了(汗(lll¬ω¬),第一次看的是由多不認(rèn)真),第二個參數(shù)是指定對該文檔的解析器的,可供選擇的解析器有
目前支持, “l(fā)xml”, “html5lib”, 和 “html.parser”
這個結(jié)果告訴我們看文檔不要不耐煩,要認(rèn)真。(逃ε=ε=ε=┏(゜ロ゜;)┛)
總結(jié)
以上是生活随笔為你收集整理的Python3读取HTML文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3调用MySQL数据库中的数
- 下一篇: 2017年html5行业报告,云适配发布