透過模擬登入儲存cookie,然後到後台頁面不斷抓取某網站上的訂單資料。
現在有兩個問題
該網站cookie會在10分鐘後過期,過期後需重新登入
該網站的訂單資料禁止頻繁查詢
現在要完成這樣的功能:
從模擬登入後開始,不斷地自動抓取訂單資料
當該cookie過期時自動傳送訊息到管理員微信,提醒管理員重新登入。
那麼,如何在模擬登入時,設定已儲存的cookie過期時間?以及如何設定每隔固定的時間去執行一次抓取資料操作?
因為要對這些資料做處理,有沒有辦法在本地測試中即可完成這些操作?
透過模擬登入儲存cookie,然後到後台頁面不斷抓取某網站上的訂單資料。
現在有兩個問題
該網站cookie會在10分鐘後過期,過期後需重新登入
該網站的訂單資料禁止頻繁查詢
現在要完成這樣的功能:
從模擬登入後開始,不斷地自動抓取訂單資料
當該cookie過期時自動傳送訊息到管理員微信,提醒管理員重新登入。
那麼,如何在模擬登入時,設定已儲存的cookie過期時間?以及如何設定每隔固定的時間去執行一次抓取資料操作?
因為要對這些資料做處理,有沒有辦法在本地測試中即可完成這些操作?
隔固定時間去執行抓取,可以使用cli模式定時任務。
cookie設定過期時間我覺得沒有必要,你可以在介面失效的前提下重新模擬登入。
1該網站的訂單資料禁止頻繁查詢
curl 支援代理請求,他偵測是否頻繁請求是透過ip來偵測的
2該網站cookie會在10分鐘後過期,過期後需要重新登入(cookie裡面存放了sessionid主要是這個會話id會過期不是cookie)
按照你的這個情景cookie失效有2種:
----1 會話時長炒超過了伺服器配置的會話時長(一般預設30分鐘)
----2用戶退出,伺服器主動銷毀會話sessionid
既然你是要抓數據,那麼帳號應該是你的, 那麼2的可能基本上可以排除了,至於1 如果你用curl代理請求那麼也就不存在1的問題,如果存在你使用定時請求來保持這個會話sessionid即可(另開一個程式每隔15分鐘請求一次來保持會話)