今天心血來潮,想爬取起點vip小說章節(jié),花費了足足0.27大洋后,悟出來一個人生道理,這個應(yīng)該是爬不下來。但是這0.27大洋也教會了我兩個知識點。
1.服務(wù)器只會響應(yīng)客戶端的請求,不會主動給客戶端發(fā)送信息
例如我爬取的這一章vip章節(jié)

客戶端就會一直向服務(wù)器發(fā)送checkStatus?_csrfToken=w7RePr18qXzxByPdIn0h7iQtII0AC4z8oPMIXioz的請求,如果我沒有付錢,服務(wù)器就會返回

如果我付錢了
就會返回
{"code":0,"data":{"readUrl":"http://vipreader.qidian.com/chapter/3242304/67958436"},"msg":"suc"}
接收到這個返回后客戶端會在發(fā)送一個請求章節(jié)內(nèi)容的request(是不是我冒充服務(wù)器給瀏覽器發(fā)一個{"code":0,"data":{"readUrl":"http://vipreader.qidian.com/chapter/3242304/67958436"},"msg":"suc"}的response,瀏覽器就會發(fā)一個請求全部內(nèi)容的request,是不是就可以獲得全部章節(jié)內(nèi)容,就可以爬取vip章節(jié)了,前提是服務(wù)器不會在驗證我是否已經(jīng)付錢),這時候如果驗證我猜服務(wù)器會去數(shù)據(jù)庫查查我這個用戶有沒有付錢,如果有的話就會返回全部章節(jié)信息,如果沒有的話就返回試讀的信息(這是不是一個反爬蟲的手段?服務(wù)器再次驗證是否有vip權(quán)限)。
所以目前我認(rèn)為 如果不修改起點數(shù)據(jù)庫中我付費字段的標(biāo)記,那應(yīng)該是爬取不到全部vip章節(jié)信息的。
2.cookie是服務(wù)器識別用戶的手段
因為我付費是在谷歌瀏覽器付費,所以當(dāng)我輸入
https://vipreader.qidian.com/ajax/chapter/chapterInfo?_csrfToken=w7RePr18qXzxByPdIn0h7iQtII0AC4z8oPMIXioz&bookId=3242304&chapterId=67743698&authorId=4362948
谷歌瀏覽器顯示全部章節(jié)內(nèi)容:

但是換一個瀏覽器后,輸入相同的網(wǎng)址,則只會顯示試讀內(nèi)容:
