Python爬虫beautifulsoup4常用的解析方法总结
摘要
如何用beautifulsoup4解析各種情況的網(wǎng)頁
beautifulsoup4的使用
關(guān)于beautifulsoup4,官網(wǎng)已經(jīng)講的很詳細(xì)了,我這里就把一些常用的解析方法做個總結(jié),方便查閱。
裝載html文檔
使用beautifulsoup的第一步是把html文檔裝載到beautifulsoup中,使其形成一個beautifulsoup對象。
初始化BeautifulSoup類時,需要加入兩個參數(shù),第一個參數(shù)即是我們爬到html源碼,第二個參數(shù)是html解析器,常用的有三個解析器,分別是”html.parser”,”lxml”,”html5lib”,官網(wǎng)推薦用lxml,因?yàn)樾矢?#xff0c;當(dāng)然需要pip install lxml一下。
當(dāng)然這三種解析方式在某些情況解析得到的對象內(nèi)容是不同的,比如對于標(biāo)簽不完整這一情況(p標(biāo)簽只有一半):
使用
在使用中,我盡量按照我使用的頻率介紹,畢竟為了查閱~
按照標(biāo)簽名稱、id、class等信息獲取某個標(biāo)簽
按照標(biāo)簽名稱、id、class等信息獲取多個標(biāo)簽
按照標(biāo)簽的其他屬性獲取某個標(biāo)簽
找前頭和后頭的標(biāo)簽
找父標(biāo)簽
soup.find_parents("div")
soup.find_parent("div")
css選擇器
注意幾個可能出現(xiàn)的錯誤,可以用try捕獲來防止爬蟲進(jìn)程
UnicodeEncodeError: ‘charmap' codec can't encode character u'\xfoo' in position bar (或其它類型的 UnicodeEncodeError
需要轉(zhuǎn)碼
AttributeError: ‘NoneType' object has no attribute ‘foo'
沒這個屬性
就介紹這么多,應(yīng)該可以覆蓋大部分網(wǎng)頁結(jié)構(gòu)了吧~!
轉(zhuǎn)載于:https://www.cnblogs.com/Pythonmiss/p/10784120.html
總結(jié)
以上是生活随笔為你收集整理的Python爬虫beautifulsoup4常用的解析方法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring cloud zuul跨域(
- 下一篇: python — 列表与元组