平常工作上沒啥機會用到,所以很久沒有寫爬蟲了.最近因為
- 傳遞資料是用 POST 方法,而不是 GET.
- 網站有認 Session ,要在同一個 Session 中使用POST才能正確取得資料.
一些基本網站分析方式可以參考先前的拙作:
Session的概念在Web 技術中的 Session 是什麼?講得很清楚,簡單來說就是當你第一次進入上市上櫃公司資料這個網頁的時候,網站伺服器會給你一個號碼牌,稱為 session ,你要拿著這個 Session 和適當的 Payload 才能跟伺服器要資料.為的就是避免爬蟲沒有經過首頁,直接透過 Payload 取得資料.
但是現在很多套件都幫我們處理好 Session 和 Payload 的問題,我們只要直接拿來用就行了,像是這樣:
- 第二欄定義了目標網址
- 第三個欄位定義要放進去的 Payload,這些Payload的欄位,可以在 post 方法中找到:
- 至於Session就交給 request.Session() 幫我們解決.只要用這個物件 s 所呼叫的 get 或 post 方法都會算在同一個 session 裡面
- 下一節將介紹怎麼從抓下來的HTML 檔中找到我們要抓的資料.
沒有留言:
張貼留言