這篇文章給大家分享的是有關(guān)HifJzoc9和80T怎么獲取的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
寧陵網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
HifJzoc9
和 HM4hUBT0dDOn80T
的獲取思路直接去看控制臺(tái)請(qǐng)求,就會(huì)找到下面的這個(gè)請(qǐng)求,這個(gè)請(qǐng)求返回的就是列表內(nèi)容
但是直接去找 HifJzoc9
是找不到。說(shuō)明這是被后來(lái)加上去的。通過(guò)攔截 XMLHttpRequest
,將生成的參數(shù)加到請(qǐng)求參數(shù)里。而且在這個(gè)網(wǎng)站,這個(gè)參數(shù)的名字也是 js
動(dòng)態(tài)生成。
下圖是 cookie
中 80T
的名字的生成地方。看好了就是名字。不要想太多。具體破解還未完成。
所以呢一種是增加 XHR 斷點(diǎn),另一種就是使用下面的函數(shù)。這個(gè)函數(shù)我使用的時(shí)候是用谷歌插件的方式。
分享一個(gè)鉤子函數(shù)
var code = function () { var open = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function open(method, url, async) { if (url.indexOf("HifJzoc9") > -1) { debugger; } };};var script = document.createElement('script');script.textContent = '(' + code + ')()';(document.head || document.documentElement).appendChild(script);script.parentNode.removeChild(script);
這個(gè)函數(shù)可以請(qǐng)求發(fā)送之前將該請(qǐng)求攔截。
既然可以攔截到請(qǐng)求,那就意味可以拿到當(dāng)前環(huán)境下生成的加密參數(shù)。
如果經(jīng)??催@個(gè)網(wǎng)站的話(huà),你就會(huì)注意到,他會(huì)每隔幾秒就會(huì)發(fā)起這樣的請(qǐng)求
所以我的攔截代碼就可以一直使用,一直攔截不讓他發(fā)起請(qǐng)求。從下圖就可以看到,請(qǐng)求并沒(méi)有發(fā)出去。
取消請(qǐng)求
window.XMLHttpRequest.abort();
url
參數(shù)取到了,就差 cookie
了。
直接在控制臺(tái)打印 cookie
這樣打印出來(lái)其實(shí)是只有 80T
的,并沒(méi)有 80S.
這是因?yàn)?HTTPOnly
的原因。具體的可以去百度查查,現(xiàn)在基本大網(wǎng)站都有這個(gè),也是為了安全
這個(gè)可以使用谷歌插件解決,可以看看谷歌文檔。
谷歌插件提供了一個(gè)方法。當(dāng)然這個(gè)方法需要在背景頁(yè)中使用。填寫(xiě) URL后就可以獲取他的所有 cookies
。
chrome.cookies.getAll({url: "http://*.cn/"}, function (cookies) {});
80T
也是一直在刷新的,所以只需要一直獲取提交到你的爬蟲(chóng)就完成了。
1、攔截 XMLHTTPRequest
請(qǐng)求
2、獲取到已經(jīng)生成加密的參數(shù)后的 url
3、取消請(qǐng)求
window.XMLHttpRequest.abort();
4、獲取 cookie
5、將獲取到 cookie 和 url
發(fā)送給爬蟲(chóng)。(這一塊都是通過(guò)插件的背景頁(yè)做的。網(wǎng)站有跨域限制,所以最后的發(fā)送操作都是在背景頁(yè)。具體的大家多看看插件,挺簡(jiǎn)單的)
6、爬蟲(chóng)請(qǐng)求數(shù)據(jù)。
谷歌插件 發(fā)送加密后的 url
以及 cookie
到接口,爬蟲(chóng)通過(guò)接口獲取到值進(jìn)行數(shù)據(jù)抓取。很簡(jiǎn)單。
而且這網(wǎng)站只要你能獲取到這兩個(gè)東西,剩下就好說(shuō)了,請(qǐng)求多了目前發(fā)現(xiàn)就只有個(gè)圖片驗(yàn)證碼。
缺點(diǎn)就是:
如果需要大量抓取的話(huà),就需要很多瀏覽器。
優(yōu)點(diǎn)就是:
不用破解 js
還有一種思路就是通過(guò) selenium 、pyppeteer、puppeteer
執(zhí)行 js
,生成加密參數(shù)后,再取消請(qǐng)求。這樣就會(huì)更快的生成你想要的東西。也是挺爽的。
但是這種的我不知道如何再去取消請(qǐng)求,并且將參數(shù)攔截獲取出來(lái)。
感謝各位的閱讀!關(guān)于“HifJzoc9和80T怎么獲取”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!