iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
AI & Data

蟲王養成 - scrapy系列 第 3

Day3 : python3 request

先前發文
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


上一篇
Day2 : python3 virtualenv 建置
下一篇
Day4 : 使用beautifulsoup4 和lxml
系列文
蟲王養成 - scrapy30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言