起因:工作中爬取頁面遭遇521狀態碼
scrapy中遭遇521狀態碼,會被無視,而不會被爬蟲處理。
通過F12開發者工具 可知
通過在下載器中間件的查看,可以得知是可以在process_response中獲取response.text
實際上是js代碼,一段不規則加密代碼和一段可讀代碼。
通過將這段代碼中的eval替換為console.log放到html文件中
可以在控制台得到
又是一段類似的代碼,但是已經可以清晰的看到cookie相關的東西。
解決方法就是將‘document.cookie=’替換為'return ',其他的根據報錯替換
就我這一個頁面的解決方案:
將上一步js代碼替換成下圖 url為訪問界面url
即可獲得cookie
利用這一個cookie和訪問此頁面時響應頭中的set-cookie組合 獲得最終cookie
headers要模仿瀏覽器中的請求頭。