logo
Loading...

關於BeautifulSoup後面要加的“html5lib”這段文字是什麼意思? - Cupoy

想請問老師關於這段soup = BeautifulSoup(r.text,"html5lib")的“...

pycrawler,pycrawler-d08

關於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:58
    CUPOY
    贊同數: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 😃😃😃