百度搜索

This commit is contained in:
luzhisheng 2022-04-27 18:18:03 +08:00
parent de549676db
commit 85b66c817a
4 changed files with 115 additions and 1 deletions

0
baidu/spider/__init__.py Normal file
View File

View File

@ -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={}&timestamp={}"
response = requests.request("GET", url)
print(response.text)
def run(self):
self.get_baidu_s()
if __name__ == '__main__':
baidu_search = Baidu搜索()
baidu_search.run()

View File

@ -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")

View File

@ -3,7 +3,6 @@ import json
import time import time
import re import re
import ddddocr import ddddocr
from io import BytesIO
class VerificationCode(object): class VerificationCode(object):