先前發文
DAY 01 : 參賽目的與規劃
DAY 02 : python3 virtualenv 建置
DAY 03 : python3 request
今天要來寫code 了!
先來準備個套件
pip3 install requests
pip3 install beautifulsoup4
pip3 install lxml
然後開啟IDE(寫code的工具 , 用記事本或是直接python的編輯環境 , 本人習慣使用vscode)
檔案名稱.py
import requests
homepage = requests.get('https://www.ptt.cc/bbs/hotboards.html')
完成!!! 你已經把網頁的內容整個爬下來了 只要print(homepage)就可以看到回應<Response [200]> <-點擊解鎖更多
為了方便確認抓到的網站是否 , 符合預期內的內容 , 讓response回來的訊息通過.text 來存入檔案內 , 下面的code意思是 : 開啟ppt_hotboards_homepage1.html檔案 若沒有檔案就自動創一個, 並由最後寫入的地方開始加入字串 , 把這一大包 as 給 f 變數 , 並操作檔案 , 寫入的資料要是字串型態才能寫入
with open ('ppt_hotboards_homepage1.html','a') as f:
f.write(homepage.text)
簡單得來介紹一下 get 和post得差別!
(感謝學長!)
get 就是把header和data 一起發送給server
post 就是先把header給server後 , server response<[100]> , 再給data
以規範來說 get 被定義為request(請求)時 會把data帶入url , post則是帶到request body裡不會顯現在url上
例如: google搜尋 就是get , google登入 post出去的表單內都是敏感資料就會是使用post
以下圖 即可觀察 get 的url 與post 的url 差異
post:
get:
那我決定每天都推薦一首歌給我的讀者聽
イルカポリス 海豚刑警 - 安平之光
這不是日文歌!是中文歌
明天介紹使用beautifulsoup4 和lxml