關於BeautifulSoup後面要加的“html5lib”這段文字是什麼意思?
2020/06/20 下午 05:10
Python網路爬蟲討論版
陳世禔
觀看數:286
回答數:2
收藏數:1
pycrawler
pycrawler-d08
想請問老師關於這段soup = BeautifulSoup(r.text,"html5lib")的“html5lib
”是什麼意思,我一開始沒加的時候,系統跑出警告但是卻是建議我加上“features="lxml”,我將兩者分別添加以後,跑出的內容是相同的,我想請問一下差別在哪裡,還有問什麼要加,謝謝老師。
回答列表
-
2020/06/20 下午 07:58CUPOY贊同數:1不贊同數:0留言數:1
哈囉~親愛的學員您好
Use 'html.parser' instead of 'html5lib'. 可以避免html5lib 出現解析錯誤的狀況唷!
-
2020/06/22 上午 01:09張維元 (WeiYuan)贊同數:1不贊同數:0留言數:1
補充一下,關於解析器的部分:
常見的解析器有 lxml、html5lib、html.parser 這三個工具,他們主要是告訴 BeatifulSoup 要如何解析 HTML 語法而已,目的是一樣的,嚴格來說差異應該是「嚴謹跟精準程度」跟「效能速度」上略有差異,不過對於使用上我覺得沒有什麼不同。如果你有興趣的話,可以參考一下文件的說明:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser
一般來說: lxml 比較新比較厲害,html5lib 是預設的。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃