本文目錄一覽:
簡單NodeJS爬蟲和使用cookie進行模擬登錄
NodeJS做爬蟲也是很方便的。因為nodejs有HTTP模塊直接可以使用,而且還有很多簡單粗暴的庫可以即拿即用。
首先,需要的庫文件,
1、superagent 是個輕量的的 http 方面的庫,就像jquery的post,和get一樣,很簡單。
2、cheerio 是一個服務端操作DOM的庫,簡直就是服務端的jquery。
好的,我們需要抓取某個網站的題目。如下圖。這個系統下,及時是遊客狀態也是可以查看題目的,只是答案我們看不到。會顯示我沒有登錄。
現在我們有個需求,先抓取15頁,根據URL的參數可以頁數就是地址中 的P。並且要有本地cookie,獲取cookie的方法,最簡單的是,利用瀏覽器登錄網站之後,在控制台直接列印document.cookie,得到之後,複製進txt文本。用fs模塊讀取並轉換成字元串。在superagent請求時,把cookie傳進去。
好了,控制台已經不輸出「未登錄」,說明已經登錄成功了。
爬蟲 如何抓包獲取cookie
我們需要使用爬蟲程序對目標網站登錄時的請求進行一次抓取,獲取請求中的cookie數據;
在使用個人信息頁的url進行請求時,該請求需要攜帶cookie,只有攜帶了cookie後,伺服器才可識別這次請求的用戶信息,方可響應回指定的用戶信息頁數據。
爬蟲除了要注意Cookie的限制之外,還需要注意其他的反爬蟲,比如IP限制,這就需要使用極光代理IP進行更換IP地址,以其他的IP地址繼續訪問,突破網路限制。當然,還有其它很多的限制,爬蟲在進行採集之前需要好好分析網站的反爬蟲策略。
用Node 做爬蟲時有帶 cookie 的請求怎麼破
方法:對 superagent 封裝一下,每次都自動把新 cookie 取出,再下一次請求的時候 set 進去。
用post打開”連接1″提交登錄數據,通過”連接1″獲得Cookie信息,保留下來在以後的連接中加入Cookie數據
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200672.html