From 85b66c817a5ab8c81ecf2b8878c1cb79672af2e2 Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Wed, 27 Apr 2022 18:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BE=E5=BA=A6=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- baidu/spider/__init__.py | 0 baidu/spider/baidu_搜索.py | 32 +++++++ test_pc_小红书破解/client/des_test.py | 83 +++++++++++++++++++ .../client/verification_code_test.py | 1 - 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 baidu/spider/__init__.py create mode 100644 baidu/spider/baidu_搜索.py create mode 100644 test_pc_小红书破解/client/des_test.py diff --git a/baidu/spider/__init__.py b/baidu/spider/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/baidu/spider/baidu_搜索.py b/baidu/spider/baidu_搜索.py new file mode 100644 index 0000000..c00a721 --- /dev/null +++ b/baidu/spider/baidu_搜索.py @@ -0,0 +1,32 @@ +import requests + + +class Baidu搜索(object): + + def __init__(self): + self.url_search = "https://www.baidu.com/s?wd=aaa" + + def get_baidu_s(self): + headers = { + 'sec-ch-ua': '"Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"', + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)' + ' Chrome/87.0.4280.141 Safari/537.36', + } + response = requests.request("GET", self.url_search, headers=headers) + print(response.headers) + html_set_cookie = requests.utils.dict_from_cookiejar(response.cookies) + print(html_set_cookie) + + def get_static_captcha_tuxing(self): + url = "https://wappass.baidu.com/static/captcha/tuxing.html?&logid={}&ak={}&backurl" \ + "=https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3D{}&signature={}×tamp={}" + response = requests.request("GET", url) + print(response.text) + + def run(self): + self.get_baidu_s() + + +if __name__ == '__main__': + baidu_search = Baidu搜索() + baidu_search.run() diff --git a/test_pc_小红书破解/client/des_test.py b/test_pc_小红书破解/client/des_test.py new file mode 100644 index 0000000..32ebfcb --- /dev/null +++ b/test_pc_小红书破解/client/des_test.py @@ -0,0 +1,83 @@ +from pyDes import des +from pyDes import ECB +import base64 +import time + + +def zeroPad(data): + """ + zeroPadding + """ + block_size = 8 + while len(data) % block_size: + data += b"\0" + return data + + +def desEncrypt(data, key): + """des加密""" + des_obj = des(key.encode(), mode=ECB) + content = zeroPad(str(data).replace(" ", "").encode()) + print(base64.b64encode(des_obj.encrypt(content)).decode("utf-8")) + return base64.b64encode(des_obj.encrypt(content)).decode("utf-8") + + +def mainEncrypt(jsText, rid, trace, organization): + # 获取混淆解密函数obDecode,解密大数组 + # obDecode, jsArray = initObDecode(jsText) + # params = getParams(jsText, obDecode, jsArray) + params = { + 'nm': '4ee2f32f', + 'dy': 'aee9ca04', + 'lx': 'dec417a4', + 'xy': 'c179010f', + 'dl': '2575232a', + 'oe': '59bca469', + 'gi': 'bc1b5ed3', + 'aw': '013f32d6', + 'xp': 'ff19d8d3', + 'ux': '8d1339ba', + 'vk': '2323fc45' + } + + result = { + "rid": rid, + "mr": "Yrtx2WucmA0=", + "organization": organization, + "rversion": "1.0.1", + "ks": "reuBD+zMKCY=", + "mh": "4H3yX9Azf7w=", + "ga": "NNwlKRkNZmk=", + "pz": "9rXyGPjRnCw=", + "ostype": "web", + "mi": "J0ydjVnS6GWRP+MYvENLqasfyGxBM+/A5zWEZMaZGTKy5iTNIij9ojytDG3NjnLKgRRYeCckrRRCNhbe2aKwGoGk2qBX4mZI9gDo59CKKiHYO665KC+AdIzotLMZ/Nj5YRYiSHP3YNna8EvkpCP3vxhA3fxo0t7H7cCeBiSfvhQ7IxVsjhW6OGPjlxnOxpQl", + "act.os": "web_mobile", + # "act.os": "web_pc", + "ez": "0tmlyeKNyJA=", + "callback": "sm_1651029963033", + "sdkver": "1.1.3", + "vl": "nz2ymU44kqg=", + "kx": "8496EGvAN20=", + "protocol": "155", + "vb": "YuSSvLHvI2k=", + "eg": "pkDpSt6wUfA=" + } + + keys = list(params.keys()) + # result[keys[0]] = desEncrypt(trace["mouseData"], params[keys[0]]) + # result[keys[1]] = desEncrypt(trace["endTime"] - trace["startTime"], params[keys[1]]) + # result[keys[2]] = desEncrypt(trace["trueWidth"], params[keys[2]]) + # result[keys[3]] = desEncrypt(trace["trueHeight"], params[keys[3]]) + # result[keys[4]] = desEncrypt(trace["mouseEndX"] / trace["trueWidth"], params[keys[4]]) + result[keys[5]] = desEncrypt(1, params[keys[5]]) + result[keys[6]] = desEncrypt(0, params[keys[6]]) + result[keys[7]] = desEncrypt(-1, params[keys[7]]) + result[keys[8]] = desEncrypt("default", params[keys[8]]) + result[keys[9]] = desEncrypt("web", params[keys[9]]) + result[keys[10]] = desEncrypt("zh-cn", params[keys[10]]) + result["callback"] = "sm_" + str(round(time.time() * 1000) + 1000) + return result + + +# desEncrypt("zh-cn", "d020d8e2") +mainEncrypt("20220427112708f5275e8fdb7c0f6fe7", '', "eR46sBuqF0fdw7KWFLYa") diff --git a/test_pc_小红书破解/client/verification_code_test.py b/test_pc_小红书破解/client/verification_code_test.py index 3544933..565c81a 100644 --- a/test_pc_小红书破解/client/verification_code_test.py +++ b/test_pc_小红书破解/client/verification_code_test.py @@ -3,7 +3,6 @@ import json import time import re import ddddocr -from io import BytesIO class VerificationCode(object):