侧边栏壁纸
博主头像
顾小诺 博主等级

行动起来,活在当下

  • 累计撰写 30 篇文章
  • 累计创建 14 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

5. 百度指数逆向

顾小诺
2024-07-13 / 0 评论 / 0 点赞 / 26 阅读 / 0 字

5. 百度指数逆向

  • 只用于技术研究,不允许非法用途

获取指数数据

image

源码

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# @File : main.py
# Author: xiaonuo

import requests

#登陆
def login():
    pass

def get_core_data(key,start_data,end_data):
    url = "https://index.baidu.com/api/SearchApi/index"
    headers = {
        "Accept": "application/json, text/plain, */*",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cipher-Text": "1720782373175_1720835449502_DAuT+5X4udakfYIjD1YKEaJhbhajsBZ9aetHMZqsZ5frmvbJEqKOucR4A2vqmf8JWk968nswSNrVsUQvMZnJw/wtl0D4P1ZJoG7jXwdqPM91PZiDQqgz0Ju7gvVniA2VSf5cWs2TLMJUWoqrICHGA6Cpa43o42fQHfyTkKUd0XuE+P5Zjun9JxEJCMyu56vDGmNq01akpY1IKneKFhCWSIgRfTfMYIcJiShxpwwDSm2ZimyEvAlWDWknt/xJorvHnzeGugOzxxguZcT8Hvd0gQHgSYhITd1pONu8YQdX2VUcxmdNW9Yq96by9C0df1mu9Kyua7lkSsg6gQXamoh85pnbFjGicsS3PZAx6fmXxK8=",
        "Connection": "keep-alive",
        "Referer": "https://index.baidu.com/v2/main/index.html",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-origin",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
        "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "Windows",
        # 需要登录后获取到Cookie
        "Cookie": 'BIDUPSID=97DF255CA2EFE0C332EC354C0B407B0C; PSTM=1719675318; BAIDUID=97DF255CA2EFE0C353A9987DDAF59E97:FG=1; MAWEBCUID=web_wJBFdBUkdtbuByvVWVLjidpxdYRXdHYuIflHhjIntsXiIeDdaM; H_PS_PSSID=60359_60451; H_WISE_SIDS=60359_60451; BAIDUID_BFESS=97DF255CA2EFE0C353A9987DDAF59E97:FG=1; BA_HECTOR=0haka421002ha4ah8gag25212himn71j92f2u1v; ZFY=TsIo8sfiTPnG33hDaONuHalMFI9gS9I:AUpsdXasIbHY:C; BDRCVFR[Zh1eoDf3ZW3]=mk3SLVN4HKm; delPer=0; PSINO=2; Hm_lvt_d101ea4d2a5c67dab98251f0b5de24dc=1720834149; HMACCOUNT=5DD6C165BB58DBA8; BDUSS=GZ2R0NqfjVkc0MtRFQ1VkwwUnpIYVRKUFNHOUFtWkgzUW1hYXlHcUVqfkdacmxtRUFBQUFBJCQAAAAAAAAAAAEAAAB80V05bW9tb1FMNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbZkWbG2ZFmS; SIGNIN_UC=70a2711cf1d3d9b1a82d2f87d633bd8a047084695227izXZzskoN88nwM+8gwFi5aGyGSDh1z2gHUucD8+O8GtV5mkzcDfi9spllXioIVqVE5UsD308Emlu/edTXPZmgxkV3d1tvy/R3k0qTTy6Z7YYrwGZU+GqP9rd/uEJRoruwKqXbmp1gj2PXISZRRZEogt4Dgb9r7NItcChF5ZZjIJMOQ85YS+ZtVj3VHPwb0oKzoGDmKTJJcuTfV4APzkuILZ6d55XVrACifsJkIPaOsm1HNibpGsxhcB7bm6NH0iwqZxnC2ygHQPz3vfiFyHbw==84553790194574661154873517527565; __cas__rn__=470846952; __cas__st__212=c424931adc23d828d13c39cf63a57a133a7e94271a79ba3cf2a7b71079bab1fd16398b596f0919fc598871b2; __cas__id__212=56998968; CPTK_212=844547926; CPID_212=56998968; Hm_lpvt_d101ea4d2a5c67dab98251f0b5de24dc=1720834505; BDUSS_BFESS=GZ2R0NqfjVkc0MtRFQ1VkwwUnpIYVRKUFNHOUFtWkgzUW1hYXlHcUVqfkdacmxtRUFBQUFBJCQAAAAAAAAAAAEAAAB80V05bW9tb1FMNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbZkWbG2ZFmS; ab_sr=1.0.1_NjMyMzc4NmI4NTIzNzY2NTYwNDE5ZjkzOGQwNjFmMGI3YjBiYzI5MDk3MTc4YjRlNjNkNTczMzIxNGQzNGU1YTE4NDA3M2JlNzJiMDU5MGUwNmY4MmU1MGZjMDgwMDY0M2EyNjE3NjcwZDgzYmZmNjdmMWM0MDNlNTg0Y2UyZmQ0MWQxYzgyMGY1NTI5Y2JhMDE4MDMwZDE2YzZkNGE0NA==; bdindexid=14talrepe0m0sa2f4h06bdcvu3; H_WISE_SIDS_BFESS=60359_60451; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; RT="z=1&dm=baidu.com&si=59625d1b-e656-43f3-9a1e-90bb89e4fb36&ss=lyjg7z2g&sl=r&tt=h0b&bcn=https://fclog.baidu.com/log/weirwood?type=perf&ld=rlj5"'
    }
    querystring = {
        "area":"0",
        "word":"[[{\"name\":\""+key+"\",\"wordType\":1}]]",
        "startDate": start_data,
        "endDate": end_data
    }

    response = requests.request("GET", url, headers=headers, params=querystring)

    if response.json()['status'] !=0:
        print(response.text)
    #获取data
    data = response.json()['data']['userIndexes'][0]['all']['data']
    uniqid = response.json()['data']['uniqid']
    return (uniqid,data)


def get_data_by_uniqid(uniqid_data):
    url = "https://index.baidu.com/Interface/ptbk"
    querystring = {"uniqid":uniqid_data}
    headers = {
        "Accept": "application/json, text/plain, */*",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Connection": "keep-alive",
        "Referer": "https://index.baidu.com/v2/main/index.html",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-origin",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
        "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": '"Windows"',
        "Cookie": 'BIDUPSID=97DF255CA2EFE0C332EC354C0B407B0C; PSTM=1719675318; BAIDUID=97DF255CA2EFE0C353A9987DDAF59E97:FG=1; MAWEBCUID=web_wJBFdBUkdtbuByvVWVLjidpxdYRXdHYuIflHhjIntsXiIeDdaM; H_PS_PSSID=60359_60451; H_WISE_SIDS=60359_60451; BAIDUID_BFESS=97DF255CA2EFE0C353A9987DDAF59E97:FG=1; BA_HECTOR=0haka421002ha4ah8gag25212himn71j92f2u1v; ZFY=TsIo8sfiTPnG33hDaONuHalMFI9gS9I:AUpsdXasIbHY:C; BDRCVFR[Zh1eoDf3ZW3]=mk3SLVN4HKm; delPer=0; PSINO=2; Hm_lvt_d101ea4d2a5c67dab98251f0b5de24dc=1720834149; HMACCOUNT=5DD6C165BB58DBA8; BDUSS=GZ2R0NqfjVkc0MtRFQ1VkwwUnpIYVRKUFNHOUFtWkgzUW1hYXlHcUVqfkdacmxtRUFBQUFBJCQAAAAAAAAAAAEAAAB80V05bW9tb1FMNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbZkWbG2ZFmS; SIGNIN_UC=70a2711cf1d3d9b1a82d2f87d633bd8a047084695227izXZzskoN88nwM+8gwFi5aGyGSDh1z2gHUucD8+O8GtV5mkzcDfi9spllXioIVqVE5UsD308Emlu/edTXPZmgxkV3d1tvy/R3k0qTTy6Z7YYrwGZU+GqP9rd/uEJRoruwKqXbmp1gj2PXISZRRZEogt4Dgb9r7NItcChF5ZZjIJMOQ85YS+ZtVj3VHPwb0oKzoGDmKTJJcuTfV4APzkuILZ6d55XVrACifsJkIPaOsm1HNibpGsxhcB7bm6NH0iwqZxnC2ygHQPz3vfiFyHbw==84553790194574661154873517527565; __cas__rn__=470846952; __cas__st__212=c424931adc23d828d13c39cf63a57a133a7e94271a79ba3cf2a7b71079bab1fd16398b596f0919fc598871b2; __cas__id__212=56998968; CPTK_212=844547926; CPID_212=56998968; Hm_lpvt_d101ea4d2a5c67dab98251f0b5de24dc=1720834505; BDUSS_BFESS=GZ2R0NqfjVkc0MtRFQ1VkwwUnpIYVRKUFNHOUFtWkgzUW1hYXlHcUVqfkdacmxtRUFBQUFBJCQAAAAAAAAAAAEAAAB80V05bW9tb1FMNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbZkWbG2ZFmS; ab_sr=1.0.1_NjMyMzc4NmI4NTIzNzY2NTYwNDE5ZjkzOGQwNjFmMGI3YjBiYzI5MDk3MTc4YjRlNjNkNTczMzIxNGQzNGU1YTE4NDA3M2JlNzJiMDU5MGUwNmY4MmU1MGZjMDgwMDY0M2EyNjE3NjcwZDgzYmZmNjdmMWM0MDNlNTg0Y2UyZmQ0MWQxYzgyMGY1NTI5Y2JhMDE4MDMwZDE2YzZkNGE0NA==; bdindexid=14talrepe0m0sa2f4h06bdcvu3; H_WISE_SIDS_BFESS=60359_60451; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; RT="z=1&dm=baidu.com&si=59625d1b-e656-43f3-9a1e-90bb89e4fb36&ss=lyjg7z2g&sl=r&tt=h0b&bcn=https://fclog.baidu.com/log/weirwood?type=perf&ld=rlj5"'
    }
    response = requests.request("GET", url, headers=headers, params=querystring)

    return response.json()['data']

def decrypt(t, e):
    if not t:
        return ""

    i = list(t)
    n = list(e)
    a = {}
    r = []

    for A in range(len(i) // 2):
        a[i[A]] = i[len(i) // 2 + A]

    for o in range(len(e)):
        r.append(a[n[o]])

    return "".join(r)

def main(key,start_date,end_date):
    # 真实数据
    data1 = get_core_data(key,start_date,end_date)
    print(data1)
    data2 = get_data_by_uniqid(data1[0])

    #解密
    result = decrypt(data2,data1[1])
    print(result)


if __name__ == '__main__':
    key = 'python'
    start_date = '2024-06-13'
    end_date = '2024-07-12'
    main(key,start_date,end_date)

0

评论区