爬取 yahoo 網頁資料, 為何抓取後解析需要設定為"lxml"以及如何知道何時要用 html5lib / lxml /.... ?
2020/03/09 下午 04:45
Python網路爬蟲討論版
徐竟發
觀看數:4
回答數:1
收藏數:0
pycrawler-2
pycrawler-2-d14
請問一下範例14中爬取 yahoo 網頁資料, 為何抓取後解析需要設定為"lxml"(如下) ,
另外, 如何知道何時要用 html5lib / lxml /.... ?
# 先觀察一下目前上映中的電影數量
url = 'https://movies.yahoo.com.tw/movie_intheaters.html'
resp = requests.get(url)
resp.encoding = 'utf-8'
soup = BeautifulSoup(resp.text, 'lxml')
回答列表
-
2020/03/09 下午 09:34張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
嗨,這三個工具主要是告訴 BeatifulSoup 要如何解析 HTML 語法而已,目的是一樣的,嚴格來說差異應該是「嚴謹跟精準程度」跟「效能速度」上略有差異,不過對於使用上我覺得沒有什麼不同。如果你有興趣的話,可以參考一下文件的說明:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser
一般來說: lxml 比較新比較厲害,html5lib 是預設的。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃