步驟:
1、匯入bs4庫
from bs4 import beautifulsoup
2、獲取soup物件
#html為你獲取的網頁源**,將html轉化為特定的格式lxml
#為後面提取資訊做準備
soup=beautifulsoup(html,'lxml'
)
3、利用方法選擇器解析
find_all()##查詢所有符合條件的節點資訊,例如soup.find_all(name=「h4」),查詢所有節點名稱為h4的節點資訊
for ul in soup.find_all(name=
"ul"
):#尋找名為ul的結點
print(ul)
for li in ul.find_all(name=
"li"
):#尋找ul結點下名為li的結點
print(li.string)
細節:find_all()方法中可以結合多個條件進行結點的尋找,例如可以尋找名為div的結點下class為contson的結點,當尋找準確的class結點資訊時,要用class_="",不然會報錯。
例子:
for content in word.find_all(name=
"div",class_=
'contson'
):
4、利用css選擇器進行解析(更快速)
思想:利用css中的結點層級關係準確找到某種資訊的位置,select()方法,div>ul>li意思是尋找層級div下的ul下的li的內容
例子:
for li in soup.select(
"ul>li"
): print(li.text)
關係:可以利用css選擇器中的select()和方法選擇器中的find_all()搭配使用,使得資料提取更加簡單
例如:
#獲取div下的div下的div下的div層的資訊
for word in soup.select(
"div>div>div>div"
): #獲取word中結點名為b的文字資訊
for title in word.find_all(name=
'b'):
python爬蟲bs4 xpath資料解析
在爬取網頁後,通常需要將爬取到的內容進行分割提取,拿到我們想要的文字內容或者相應的位址url。安裝bs4模組,並匯入 from bs4 import beautifulsoupfp open test.html r encoding utf 8 將本地的html文件中的資料記載到該物件中 soup ...
爬蟲 資料解析 bs4
正規表示式實現資料解析 需求 爬取糗事百科中糗圖資料 import requests headers 方式1 url img data requests.get url url,headers headers content content返回的是byte型別的資料 方式2 方式2不可以使用ua偽裝...
python爬蟲學習(十)bs4解析資料
lxml安裝是個坑 coding utf 8 import lxml import requests from bs4 import beautifulsoup if name main ua偽裝 將對應的user agent封裝到字典中 headers url 對指定url發起請求,對應的url是...