也是為了紀錄與日後方便使用, 換電腦時不用一直查找資料
先安裝BeautifulSoup4(很常覺得為啥這個模組名字要這麼長.....)
還有requests
pip install bs4
pip install requests
我已經安裝過了, 就不再貼上截圖了~
假設我想要爬取我的部落格的標題
我們在這段文字上按下滑鼠右鍵, 開啟檢查
可以看到這段文字前後是由h2 tag包夾的
所以我們先導入模組
import requests
from bs4 import BeautifulSoup as BS
接著用requests去模擬瀏覽器向伺服器要求回應
res = requests.get('http://tn00343140a.pixnet.net/blog')
所得到的res再餵給BeautifulSoup 分析, 然後用find()找到h2 tag
res = requests.get('http://tn00343140a.pixnet.net/blog')
soup = BS(res.text, 'html.parser')
print(soup.find('h2'))
得到這樣的結果
那應該是編碼不對, 所以加上encoding='utf-8', 目前完整程式碼是這樣的
import requests
from bs4 import BeautifulSoup as BS
res = requests.get('http://tn00343140a.pixnet.net/blog')
res.encoding='utf-8'
soup = BS(res.text, 'html.parser')
print(soup.find('h2'))
出現這樣的結果, 表示有非常多東西是被h2 tag給包圍
很顯然的, 我們要的文字並非第一個, find()只會回傳第一個找到的資料~
所以改成用find_all()方法, 那因為我要取得的是標題文字
所以我使用.text 來 print出文字
list1 = soup.find_all('h2')
for i in list1 :
print(i.text)
好像有點不夠理想, 再研究看看!