python爬蟲之js逆向(二)

2021-09-29 08:41:44 字數 2230 閱讀 3500

每天一更,養成好習慣從我做起。真正想做成一件事,不取決於你有多少熱情,而是看你能多久堅持。千萬別奢望光有熱情就能得償所願。

今天的帶大家了解一下md5加密,目標**是有道翻譯:

首先第一步開啟**(我用的是google)f12,檢視是否是post請求,隨便輸入乙個字,右擊檢視網頁源**,ctrl+f檢視是否有你想要的結果,沒有那麼ok,肯定不是get請求。(可能有點片面,有錯請大佬即時指出,感激不盡)。

ok我們在這裡可以看到請求的**加post請求

再接著往下看

然後這是我們所需要複製的請求頭,在這可以教大家乙個快速給請求頭新增格式的方式,複製請求頭到pycharm裡,然後使用ctrl+r快捷鍵開啟替換功能,並勾選regex

替換源為:(.):\s(.)$

替換為:"$1": 「$2」,

最後再ctrl+alt+l鍵,整理一下格式就行了

接下來進入正題,看好了,最最最重點的地方來嘍。

看我們下面的

看form data 的請求引數:

salt: 15729403285424

sign: 9fc6c309e0686edbbc3262034face7da

ts: 1572940328542

bv: 6ba427a653365049d202e4d218cbb811

這四個看著都是加密過來的 我們需要乙個個的來看,首先全域性搜尋salt

在f12下全域性搜尋 可以按ctrl+shift+f 最下面會出現乙個搜尋框我們只需將salt複製進去,搜尋就會出現所有包含這個單詞的檔案

那麼我們點進去看一下

ok那麼我們可以清晰地看都之前的四個引數的資料都在這裡

ts 是獲取了當前的時間戳

bv是 md5 加密

salt 隨機數

sign是 md5 加密

可以看到bv只是請求頭的md5加密

r = 「」 + (new date).gettime()

i = r + parseint(10 * math.random(), 10)

轉成python生成就是(通過看其他大佬寫的發現,之前還是將四個引數全部放上去):

i = str(time.time()*1000 + random.randint(1, 10))

接下來就是**實現,很簡單的**:

import requests

import random

import time

import hashlib

headers=

data =

i =str

(time.time()*

1000

+ random.randint(1,

10))e=

input

("請輸入單詞》"

)tmp=

"fanyideskweb"

+ e + i +

"n%a-rkat5fb[gy?;n5@tj"

sign=hashlib.md5(tmp.encode(

'utf-8'))

.hexdigest(

)data[

'i']

=edata[

'salt']=i

data[

'sign'

]=sign

url =

'translate_o?smartresult=dict&smartresult=rule'

res = requests.post(url,headers=headers, data=data)

print

(res.text)

python爬蟲之js逆向(三)

目標 這就是生成mcode的函式 直接拿下來複製到js檔案。生成js檔案 function missjson input else if isnan chr3 output output keystr.charat enc1 keystr.charat enc2 keystr.charat enc3...

python逆向爬蟲 python爬蟲js逆向

js逆向要想是想,要非常熟悉web的執行流程,針對不同 有不同的思路,這個部落格是針對人人直播的乙個爬取,先直接上 然後在講解,import requests import js2py import json headers session requests.session context js2p...

Python爬蟲實戰JS逆向AES逆向加密爬取

目錄 監管平台 開發工具 pycharm 開發環境 python3.7,wi程式設計客棧ndows10 使用工具包 requests,aes,json 涉及aes對稱加密問題 需要 安裝node.js環境 使用npm install 安裝 crypto js 確定資料 在這個網頁可以看到資料是動態返...