【JS逆向系列】知乎搜索接口

注:文章仅供学习使用,禁止从事非法事件


前言

太懒了,接口啥的去网页看吧 在这里插入图片描述


一、参数加密入口

<font color=#999AAA >示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、分析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


总结

# -*- coding: utf-8 -*-
'''
@File:      run.py
@SourceUrl: 
@Author:    阿J
@Date:      2021/7/23 13:42
@Software:  PyCharm
@Desc:
'''

import requests
from urllib.parse import quote
import json
import subprocess
import loguru
log = loguru.logger

headers = {
    'authority': 'www.zhihu.com',
    'pragma': 'no-cache',
    'cache-control': 'no-cache',
    'x-zse-93': '101_3_2.0',
    'x-ab-param': 'pf_noti_entry_num=0;tp_topic_style=0;zr_expslotpaid=1;se_ffzx_jushen1=0;qap_question_author=0;tp_contents=2;tp_zrec=0;pf_adjust=0;tp_dingyue_video=0;qap_question_visitor= 0;zr_slotpaidexp=1;top_test_4_liguangyi=1',
    'x-ab-pb': 'CowBOwKfArkCVwMyA2ALmwsqA0ABTwOJDMoCoAOrA9cC9gJDALQAwAL0A3IDCQTCAlADtwO0CnQB8wMBC1ILGwChA+QKbAM0DFYMjQF9AqID4AtHAG0ChALBAuoD/wM/AM8LDwvsCmoBBAQLBIwC9Au1C9gC1wsHDE8BxwLLA9wLaQHMAo4D6AOJAjcMKgISRgAACwAAAAACAAAAAAAAAAAYAAAAAQAAAAAAAAAAAQAAAAAAAQAAAAAAAAAACwAACwABAAAAAAADAAAAAAAAAAAAAAAAAQA=',
    'x-api-version': '3.0.91',
    'x-zst-81': '3_2.0ae3TnRUTEvOOUCNMTQnTSHUZo02p-HNMZBO8YDRqrXtukMtqK6P0EA9y-LS9-hp1DufI-we8gGHPgJO1xuPZ0GxCTJHR7820XM20cLRGDJXfgGCBxupMuD_Ie8FL7AtqM6O1VDQyQ6nxrRPCHukMoCXBEgOsiRP0XL2ZUBXmDDV9qhnyTXFMnXcTF_ntRueThQOC_vOCzCL1zqLKM7tLk6rMaqVKbcSGdDC_nvpqcwemoCCCqutLurxmPhYPvLcLhgV8kQO_qhSmiDLyM7LZQD31OcX_UqcM88NfCUc8pgN9QXoCFuty6AwCWGxx1qXC0qXLcvOqhqx__UVOWuY_ybXYsBxspBcfp9HOk_LyECc1H9tm5qfzCgxBoHS9TwLONGHGeqUqtwx8qw3ChgxCrhu0N9SmQqC1trxKzUuYb7YOkwS8GuFOVbxBqhoVwU2MfMS96qN_b_FYNrHMjUCf6wOmpgYsWuFm-hLCuJrC',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36',
    'sec-ch-ua-mobile': '?0',
    'x-requested-with': 'fetch',
    'x-zse-96': '2.0_a_Y82HU0QT2xc0Y80qxBS4eqHBSY2TO8s02qS098N9Sf',
    'x-app-za': 'OS=Web',
    'sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"',
    'accept': '*/*',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://www.zhihu.com/search?type=content&q=%E6%BB%B4%E6%BB%B4',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cookie': '_zap=4c377c6f-e892-4060-9b85-aa71663733e9; d_c0="AHDRZggERxKPTivY-aC2cdP0poKMvwzYo6k=|1606783431"; _xsrf=C7TfNLge3AKODDt2k9iHLxjGfmb2gZMh; _9755xjdesxxd_=32; gdxidpyhxdE=qibCEALutpRwwvT%5C6vd3d3hyICpPX6LSLPT2V%2FBfEGt0rrOe7UByqRB%2FK2RIBWbWCIL%2BUaE4PjzKPubK%5C8PcrhxH4x7pWuTPh8yb3sWarXa2tpynyhkmfZO32yvGTBR13jcQMd7GgOJaOwjg6wDdR5HvnmG6mk6gj50ruRcCerodjKaX%3A1623833237732; YD00517437729195%3AWM_NI=0WUbavIwP8xyhdafi0oS%2FwOQheNpJlkpI4L37hMSreInex8wWVkG9AVCG8YR9O3cjMB7bYo9UyxFA2zeaD23YJJsBvCv7EdYvM8UOPkBaPtY%2ByKKNz3cvTt7tY1rQFg1ekM%3D; YD00517437729195%3AWM_NIKE=9ca17ae2e6ffcda170e2e6ee82e54885bea1b0ae46a8968ea6c55f939b9abab5669392aecce6808b8ae193b32af0fea7c3b92af4899b83e47e8ba9a0d9fb73acbcaf87ec3cad8de198ce5bacbb8291c968a9b087d5cf39f5b883b4f16f8bb2ab99bb7d958aa5a8bc4b969d89d9dc5afb91fd84e94782e9aebaee3397a7b8a7c43ababbafa5b1399b968694c17e81aaf9a6e753b693f8b6ce5ca99eafb1f753e9a785accd72f1bdbab5f73db887ff93d44ea5efab8cd037e2a3; YD00517437729195%3AWM_TID=i5PcLGF7PllFFVBERQc6yRMOvhsNE7uh; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1626417264,1626773141,1626946992,1627008922; SESSIONID=vSUQya5ofCaZ3htzOO9tUYe7uIIiGaQXaqFenYHIpIz; JOID=WlocA071m2dBn61CVP3MfNQ1A4tHicM7FevGfDKe0g0Sqcg8JWu2kSmYrEBY0sCbjsJrOp6F7NplELEHH2KzcyI=; osd=Ul4dAUn9n2ZDmKVGVf_LdNA0AYxPjcI5EuPCfTCZ2gkTq880IWq0liGcrUJf2sSajMVjPp-H69JhEbMAF2aycSU=; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1627021160; KLBRSID=4843ceb2c0de43091e0ff7c22eadca8c|1627021174|1627021145',
}

ck = {'zse93': "101_3_2.0", 'dc0': '"AHDRZggERxKPTivY-aC2cdP0poKMvwzYo6k=|1606783431"', 'xZst81': '3_2.0ae3TnRUTEvOOUCNMTQnTSHUZo02p-HNMZBO8YDRqrXtukMtqK6P0EA9y-LS9-hp1DufI-we8gGHPgJO1xuPZ0GxCTJHR7820XM20cLRGDJXfgGCBxupMuD_Ie8FL7AtqM6O1VDQyQ6nxrRPCHukMoCXBEgOsiRP0XL2ZUBXmDDV9qhnyTXFMnXcTF_ntRueThQOC_vOCzCL1zqLKM7tLk6rMaqVKbcSGdDC_nvpqcwemoCCCqutLurxmPhYPvLcLhgV8kQO_qhSmiDLyM7LZQD31OcX_UqcM88NfCUc8pgN9QXoCFuty6AwCWGxx1qXC0qXLcvOqhqx__UVOWuY_ybXYsBxspBcfp9HOk_LyECc1H9tm5qfzCgxBoHS9TwLONGHGeqUqtwx8qw3ChgxCrhu0N9SmQqC1trxKzUuYb7YOkwS8GuFOVbxBqhoVwU2MfMS96qN_b_FYNrHMjUCf6wOmpgYsWuFm-hLCuJrC'}
offset = "0"
key = '西瓜'
url = "/api/v4/search_v3?"+"t=general&q="+quote(key)+"&correction=1&offset={0}&limit=20&filter_fields=&lc_idx={0}&show_all_topics=0&search_hash_id=bbe18bfd021bd70a01540c4b99d54bc9&vertical_info=".format(offset)+quote("0,0,0,0,0,0,0,0,0,1")
log.info(url)

def get_x_zes_96(url,ck):
    p = subprocess.Popen(['node', './code.js', url,json.dumps(ck,ensure_ascii=False)], stdout=subprocess.PIPE)
    x_zes_96 = '2.0_'+p.stdout.read().strip()
    log.info('x_zes_96 --> '+x_zes_96)
    return x_zes_96

headers['x-zse-96'] = get_x_zes_96(url,ck)
response = requests.get('https://www.zhihu.com'+url, headers=headers)
for data in response.json()['data']:
    log.info(data)
复制代码

在这里插入图片描述

猜你喜欢

转载自juejin.im/post/7031085262176256036