淺談Python中的bs4基礎
安裝
在命令提示符框中直接輸入pip install beautifulsoup4
介紹
beautifulsoup是python的一個第三方庫,和xpath一樣,都是用來解析html資料的。
引入
from bs4 import BeautifulSoup
使用
將一段文件傳入BeautifulSoup的構造方法,就能得到一個文件的物件。
bs = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')
print(bs)
注意:這樣上傳文件的話,BeautifulSoup裡面需要兩個引數。一個為open方法,一個是固定寫法,也就是解析器。
open方法裡面也同樣需要兩個引數,一個是想要解析的資料,另一個為設定編碼的格式。
(1)獲取網頁中的title標籤
print(bs.title)
(2)獲取head標籤及標籤內部的所有其他標籤
print(bs.head)
(3)獲取當中的第一個a標籤
print(bs.a)
注意:獲取文件當中所有的xx當中第一個xx或者第一個xx裡面的內容。都可以用bs.xx來獲取
(4)獲取指定標籤的所有屬性
print(bs.a.attrs)
(5)獲取標籤的屬性
print(bs.a['href'])
(6)獲取標籤的文字內容。
print(bs.a.string)
注意:string獲取的文字指的是本標籤的文字,不包含子標籤的文字
(7)contents能夠獲取指定標籤下面的所有內容。
print(bs.body.contents)
(8)獲取所有內容當中指定索引的內容
print(bs.div.contents[3])
(9)通過id和類名來找標籤
print(bs.find(id='kw'))
print(bs.find(class_='shopping'))
注意:id是唯一的,通過id來找,只能找到一個,所以用find,而class不是唯一的,通過class來找,就有可能找到多個。
(10)select選擇指定的標籤
print(bs.select('title'))
print(bs.select('a'))
在bs4中,小數點“.”表示類名,#表示id
print(bs.select('.first'))
print(bs.select('#kw'))
print(bs.select('div.now'))
from bs4 import BeautifulSoup content = '<a href="提示我這個連結地址">sflkj</a>' result = BeautifulSoup(content,'lxml').find('a').attrs['href'] print(result)
本文介紹了bs4的一些基本常識,希望對各位有用。
相關文章
- 淺談Python基礎Python
- 淺談正則的基礎
- [基礎] 淺談 JS Event LoopJSOOP
- Java基礎之淺談介面Java
- Java基礎之淺談集合Java
- 淺談python中的xpath用法Python
- 【Python】淺談python中的jsonPythonJSON
- python基礎中的基礎Python
- Java基礎之淺談泛型Java泛型
- 淺談Python中的私有變數Python變數
- 由 sort 中 key 的用法淺談 pythonPython
- java基礎(四):談談java中的IO流Java
- 淺談RASP技術攻防之基礎篇
- Java基礎之淺談繼承、多型Java繼承多型
- 【Java基礎】淺談常見設計模式Java設計模式
- 淺談python零基礎教程總結30天--day8Python
- 淺談我對python中的monkey patchPython
- 淺談JavaScript中的thisJavaScript
- Service Cloud 零基礎(二)Knowledge淺談Cloud
- 手擼ORM淺談ORM框架之基礎篇ORM框架
- java基礎(五):談談java中的多執行緒Java執行緒
- 淺談對python pandas中 inplace 引數的理解Python
- Python基礎之:Python中的類Python
- Python基礎之:Python中的IOPython
- 淺談 HTTPS 和 SSL/TLS 協議的背景與基礎HTTPTLS協議
- 淺談Python中的scrapy的安裝和建立工程。Python
- 淺談 Python 的 with 語句Python
- salesforce零基礎學習(九十八)Type淺談Salesforce
- 【大話設計模式】——淺談設計模式基礎設計模式
- 淺談java中的反射Java反射
- 淺談react 中的 this 指向React
- 淺談Java中的HashmapJavaHashMap
- 淺談React中的diffReact
- 淺談JavaScript中的介面JavaScript
- Python集合淺談Python
- 談談HTML的基礎認知HTML
- 淺談 : iOS工程中哪些需要建立基類(MVC)iOSMVC
- salesforce零基礎學習(九十六)Platform Event淺談SalesforcePlatform