本系列預設各位擁有基本的python能力,對各種資料結構、套件、模組等有一定概念就行了。
本文的範例都是在python 3.10下操作的。
requests是什麼?
簡單來說就是能讓你抓取整個網頁的東西,也能夠丟上去一些東西。
比較常用到的有下列功能。
- get
- post
- session
python預設並沒有安裝,所以要先用pip安裝下。
1 | pip install requests |
安裝完後在寫程式前也記得先import
1 | import requests |
get
基本上就是抓下網頁。在抓取網頁時加上昨天提到的header比較不會被擋下來。
舉例來說:
1 | import requests |
上述的程式應該會把網頁的html印在終端機,
可以填入各種網址試試看這樣的程式會印出什麼。
當然單純只做這樣被擋下來而只會顯示respone<XXX>
的機率也不低就是。
也可以試試看換個header看網頁會不會有差異。
總之抓下來的單純html當然是沒什麼用,要解析html並取出其中有用的資訊的話就要靠後面幾天會提到的bs4跟lxml了。
post
能夠丟字串或json檔上去,在需要給網站資訊時會用到。
舉例來說,投票機器人。
但一時之間想不到什麼很好的網站舉例。
session
能夠在多個請求中保持一些數據。
如果網站會用到cookie的話就需要使用這個。
舉例來說你用session登入一個網站後,之後在用這個物件抓取該網站其他頁面也會默認你是登入的。
但一時之間想不到什麼很好的網站舉例。