淺談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
- 淺談python中的xpath用法Python
- [基礎] 淺談 JS Event LoopJSOOP
- Java基礎之淺談介面Java
- Java基礎之淺談集合Java
- python基礎中的基礎Python
- Java基礎之淺談泛型Java泛型
- 淺談我對python中的monkey patchPython
- 淺談python零基礎教程總結30天--day8Python
- 淺談RASP技術攻防之基礎篇
- Java基礎之淺談繼承、多型Java繼承多型
- Service Cloud 零基礎(二)Knowledge淺談Cloud
- java基礎(四):談談java中的IO流Java
- Python基礎之:Python中的類Python
- Python基礎之:Python中的IOPython
- Python集合淺談Python
- 淺談對python pandas中 inplace 引數的理解Python
- 手擼ORM淺談ORM框架之基礎篇ORM框架
- 淺談JavaScript中的thisJavaScript
- 淺談Python中的scrapy的安裝和建立工程。Python
- java基礎(五):談談java中的多執行緒Java執行緒
- salesforce零基礎學習(九十八)Type淺談Salesforce
- 淺談Kotlin語法篇之基礎語法(一)Kotlin
- 淺談react 中的 this 指向React
- 淺談Java中的HashmapJavaHashMap
- 淺談java中的反射Java反射
- 淺談React中的diffReact
- python基礎學習9—-深淺拷貝Python
- Python基礎之:Python中的內部物件Python物件
- Python基礎之:Python中的流程控制Python
- Python中基礎的時間操作Python
- salesforce零基礎學習(九十六)Platform Event淺談SalesforcePlatform
- Java基礎之淺談異常與瞭解斷言Java
- Salesforce Consumer Goods Cloud 淺談篇一之基礎介紹SalesforceGoCloud
- 談談JVM(基礎模型)JVM模型
- 淺談Golang中select的用法Golang
- 淺談JavaScript中的繼承JavaScript繼承
- 淺談jQuery中的工具方法jQuery