先前發文
DAY 01 : 參賽目的與規劃
DAY 02 : python3 virtualenv 建置
DAY 03 : python3 request
DAY 04 : 使用beautifulsoup4 和lxml
DAY 05 : select 和find 抓取tag
來使用select 或find 來抓取資料吧!
一樣先抓到網站並解析丟給變數
import requests
from bs4 import BeautifulSoup
homepage = requests.get('https://www.ptt.cc/bbs/hotboards.html')
soup = BeautifulSoup(homepage.text,'lxml')
ctrl + shift + i 切到Elements(右圖) 並ctrl + shift + c 選到網頁點擊你要抓取的資料位置(左圖)
在上圖可以看出 每個tag的差異大部分都在class , 如果是看整個完整的網頁可以看到 id 和class 或是其他不常見的屬性
使用select和find來抓取的範例如下:
code 意思是 把解析後的資料用find找尋一筆透過條件(tag為a , class為board)的資料並給board_find變數
board_find = soup.find('a', class_= 'board')
board_select = soup.select_one('a.board')
今天就先這樣了 , 來修專案了QAQ~
聽歌聽歌! 唱歌唱歌!
甜約翰 Sweet John - 失蹤人口 Missing You
明天來 爬蟲 list取值!