拼多多的搜索的參數anti_content怎麼破

今天繼續帶來破解拼多多的 anti_content 參數破解,代碼已經放在github上:https://github.com/SergioJune...(點擊原文閱讀直達)html

若是對你有用的麻煩給個 star 支持下哈node

這個項目我也會持續更新,這兩週暫不更新,只發文章,可能我前兩週成天作這個,有點膩了,歇會。另外能夠借這個文章複習下思路,大家也能夠學習下思路,學了以後最好本身實踐一遍,這樣纔會真正學到東西python

廢話很少說,開始正文。git

1.尋找所需參數

拼多多網址爲:http://yangkeduo.com/github

點擊搜索,而後開始滑動下一頁,你能夠看到這個:瀏覽器

image

這裏有三個參數須要找的,其餘參數均可以看得出是什麼,有些也是固定不變的。cookie

先從第一個參數 list_id 開始,通常都會打開搜索,進行搜索這個參數ide

image

隨便一找,便可找到這裏函數

image

這個是咱們在第一次請求搜索頁返回的,也就是發送這個請求:工具

image

經過屢次實驗,這個請求只須要帶上關鍵字參數便可請求成功,好比這樣:http://yangkeduo.com/search_r...

只是關鍵字須要解析一下便可,問題不大。

在這個頁面還給咱們返回了 flip 這個參數,因此咱們可使用正則來獲取這兩個參數,剩下的就是 anti_content 了

咱們能夠試試再和上面那樣,試試經過搜索 anti_content,能夠看到,也能夠經過搜索看到,通過查找並屢次斷點,能夠找到這個爲位置:

image

image

打上斷點,能夠看到就是咱們須要的數據,可是如何找到加密的位置呢?請繼續往下看。

2.尋找加密位置

若是你單純是想經過上面這種方式查找的話,估計會一成天都在那裏按執行下一行代碼,最後還有可能得不到本身想要的結果,今天告訴一個很簡單的方法,由於每次都是發一個請求,因此咱們能夠在開發者工具下打個 xhr 斷點,這樣在咱們滑動請求的時候就能夠抓到這個請求,並查看調用棧便可快速找到,經過這個方法,最多就只須要半個小時吧(誇大了不太好)。

打 xhr 斷點在這裏打:

image

這裏還能夠根據請求的請求路徑進行斷點,我就不寫上了,我直接捕獲任何 xhr 斷點了,你能夠本身嘗試下,固然,除了這個 xhr 斷點,還有不少斷點,好比事件監聽等,這些在對反爬更加厲害的須要用到的時候就越多,因此,閒着沒事的話能夠研究這些斷點,會了能夠大大提升本身的工做效率,都是爬蟲必會的。

打上斷點以後,咱們能夠進行滑動,能夠看到這裏:

image

這裏第一次捕獲到的是咱們瀏覽器的配置和咱們活動的距離好像,這個能夠直接忽略,進行下一個斷點便可。

image

這裏就能夠看到咱們須要找的參數了,可是這裏已經生成了,咱們能夠直接查看右邊的調用棧

image

通過屢次查看,能夠很容易就發現這個地方有點東西,當即下斷點

image

這時咱們能夠先去掉 xhr 斷點,而後刷看查看,獲取不斷點下一個斷點直到運行結束再滑動到下一頁便可。通過調試能夠看到這個:

image

因此咱們的 anti_content 參數就是從這裏生成的,因此接下來就是繼續查看這個語句執行的語句,再次通過屢次調試,能夠發現是從這裏生成的:

image

ep("0xd2", "jLF%") 便是 anti_content 的生成語句,能夠繼續在函數內部打上斷點便可查看內部生成過程。

3.代碼太多,只能利用execjs,或者使用接口

由於這裏的代碼太多,並且我又不太懂裏面的加密過程,因此我才說這類加密一般都是隻須要找到加密位置便可,接下來就是把所須要的加密 JS 代碼扣下來使用 python 的 pyexecjs 來運行便可,可是若是你懂它裏面的加密方法,就能夠直接使用 python 提供的對應的加密方法進行使用便可,這樣子就更容易得出結果,因此接下來須要學習的地方就是各類加密方法。

這裏的加密方法我猜想是經過 deflate 加密方法,有興趣的能夠本身查看。

這裏扣代碼沒什麼好說的,說下這裏的坑吧。坑有兩個,

一個是須要使用到一個 cookie,不過固定便可,無須要獲取,這個 cookie 是下面這個:

image

使用到的地方爲這裏:

image

經過 split 切割就是獲取上面箭頭所指的 cookie,下面的函數就是進行賦值而後返回給一個對象,這裏經過本身慢慢調試都是能夠知道的。

另外一個坑就是須要使用到咱們的第一次的搜索請求,有兩個地方

image

image

到時調用函數傳參便可。其餘的就沒有什麼了,若是有請在留言區提問。

4.驗證

咱們可使用 execjs 來執行 JS,或者使用node來執行而後提供給python 接口也是可行,看你我的,這裏我直接使用 execjs 來執行了。

image

image

若是你 運行以後出現編碼問題的話,能夠看看這篇文章:https://sergiojune.com/2019/0...

能夠獲取了,完畢。源碼放在了個人gihub,想要的能夠點擊原文閱讀獲取,對你有用的話記得給個 star 哈

最後

一開始寫這個每週一爆的系列是由於,我看到如今網上的爬蟲文章質量廣泛都很低,能應用到實際工做的並很少,因此想寫一些真正實用的文章,而且能夠顯著提升你們爬蟲水平的。不知道你們想不想看這類文章,仍是想看點基礎類的文章,由於每次都很是用心寫出來,原覺得閱讀量可能會很好,但最後都是很慘淡,在想本身是否是陷入了自嗨式寫做,因此想你們給點建議,你們都想看哪類的文章。能夠在下面投票下,謝謝。

本文僅用於交流學習,請勿用於非法用途,後果自負!

首發連接:https://sergiojune.com/2019/0...

image

點個贊支持下?

相關文章
相關標籤/搜索