python爬蟲beautifulsoup解析html方法
用BeautifulSoup 解析html和xml字符串
實例:
#!/usr/bin/python# -*- coding: UTF-8 -*-from bs4 import BeautifulSoupimport re#待分析字符串html_doc = '''<html><head> <title>The Dormouse’s story</title></head><body><p class='title aq'> <b> The Dormouse’s story </b></p><p class='story'>Once upon a time there were three little sisters; and their names were <a rel='external nofollow' id='link1'>Elsie</a>, <a rel='external nofollow' id='link2'>Lacie</a> and <a rel='external nofollow' id='link3'>Tillie</a>; and they lived at the bottom of a well.</p><p class='story'>...</p>'''# html字符串創(chuàng)建BeautifulSoup對象soup = BeautifulSoup(html_doc, ’html.parser’, from_encoding=’utf-8’)#輸出第一個 title 標(biāo)簽print soup.title#輸出第一個 title 標(biāo)簽的標(biāo)簽名稱print soup.title.name#輸出第一個 title 標(biāo)簽的包含內(nèi)容print soup.title.string#輸出第一個 title 標(biāo)簽的父標(biāo)簽的標(biāo)簽名稱print soup.title.parent.name#輸出第一個 p 標(biāo)簽print soup.p#輸出第一個 p 標(biāo)簽的 class 屬性內(nèi)容print soup.p[’class’]#輸出第一個 a 標(biāo)簽的 href 屬性內(nèi)容print soup.a[’href’]’’’soup的屬性可以被添加,刪除或修改. 再說一次, soup的屬性操作方法與字典一樣’’’#修改第一個 a 標(biāo)簽的href屬性為 http://www.baidu.com/soup.a[’href’] = ’http://www.baidu.com/’#給第一個 a 標(biāo)簽添加 name 屬性soup.a[’name’] = u’百度’#刪除第一個 a 標(biāo)簽的 class 屬性為del soup.a[’class’]##輸出第一個 p 標(biāo)簽的所有子節(jié)點print soup.p.contents#輸出第一個 a 標(biāo)簽print soup.a#輸出所有的 a 標(biāo)簽,以列表形式顯示print soup.find_all(’a’)#輸出第一個 id 屬性等于 link3 的 a 標(biāo)簽print soup.find(id='link3')#獲取所有文字內(nèi)容print(soup.get_text())#輸出第一個 a 標(biāo)簽的所有屬性信息print soup.a.attrsfor link in soup.find_all(’a’): #獲取 link 的 href 屬性內(nèi)容 print(link.get(’href’))#對soup.p的子節(jié)點進行循環(huán)輸出 for child in soup.p.children: print(child)#正則匹配,名字中帶有b的標(biāo)簽for tag in soup.find_all(re.compile('b')): print(tag.name)
爬蟲設(shè)計思路:
詳細手冊:
https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
到此這篇關(guān)于python爬蟲beautifulsoup解析html方法 的文章就介紹到這了,更多相關(guān)beautifulsoup解析html內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC把數(shù)據(jù)庫中枚舉項的數(shù)字轉(zhuǎn)換成文字2. ASP.NET Core自定義中間件的方式詳解3. 《CSS3實戰(zhàn)》筆記--漸變設(shè)計(一)4. 用xslt+css讓RSS顯示的跟網(wǎng)頁一樣漂亮5. 教你JS更簡單的獲取表單中數(shù)據(jù)(formdata)6. Ajax實現(xiàn)異步加載數(shù)據(jù)7. 測試模式 - XSL教程 - 58. html5手機觸屏touch事件介紹9. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效10. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例
