對(duì)響應(yīng)中含有的數(shù)據(jù)進(jìn)行特殊化處理
通常的特殊化處理主要指的就是css數(shù)據(jù)偏移/自定義字體/數(shù)據(jù)加密/數(shù)據(jù)圖片/特殊編碼格式等
根據(jù)css你會(huì)發(fā)現(xiàn)他們用了一個(gè)字體,打開(kāi)你就發(fā)現(xiàn)了一件事
正常字體是0123456789,在去哪兒官方的字體里被替換成了圖片里的
另外還有這種情況的字體反爬
有一些網(wǎng)站的內(nèi)容由前端的JS動(dòng)態(tài)生成,由于呈現(xiàn)在網(wǎng)頁(yè)上的內(nèi)容是由JS生成而來(lái),我們能夠在瀏覽器上看得到,但是在HTML源碼中卻發(fā)現(xiàn)不了。這就需要解析關(guān)鍵js,獲得數(shù)據(jù)生成流程,模擬生成數(shù)據(jù)。一般獲取的數(shù)據(jù)是通過(guò)AJAX獲取的,返回的結(jié)果是Json,然后解析Json獲取數(shù)據(jù)。
通過(guò)編碼格式進(jìn)行反爬,不適用默認(rèn)編碼格式,在獲取響應(yīng)之后通常爬蟲使用utf-8格式進(jìn)行解碼,此時(shí)解碼結(jié)果將會(huì)是亂碼或者報(bào)錯(cuò)。解決思路:根據(jù)源碼進(jìn)行多格式解碼,或者真正的解碼格式