import json
import requests
import math
import time
import random
from urllib.parse import urlparse
def base36encode(number):
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
base36 = ""
while number:
number, i = divmod(number, 36)
base36 = digits[i] + base36
return base36.lower()
def F():
timestamp = str(math.floor(time.time() * 1000))
if len(timestamp) < 13:
timestamp = timestamp.ljust(13, "0")
return timestamp
def J():
t = int(F())
r = random.randint(1, 2147483646)
t <<= 64
t += r
return base36encode(t)
headers = {
"content-type": "application/json;charset=UTF-8",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
}
def get_args(api:str,data:dict,cookie:str):
url='http://fc-mp-03a72e47-4e88-41d5-8c18-fa2c00a55a50.next.bspapp.com/XHS'
payload={
'api':f'{api}',
'data':data,
'cookie' :f'{cookie}',
}
response=requests.post(url=url,data=json.dumps(payload),headers=headers).json()
return response
if __name__ == '__main__':
url = "https://edith.xiaohongshu.com/api/sns/web/v1/search/notes"
parsed_url = urlparse(url)
api= parsed_url.path
cookie=''
for i in range(1,12,1):
payload= {"keyword": "美女","page": i,"page_size": 20,"search_id": f"{J()}","sort": "general","note_type": 0,"image_scenes": "FD_PRV_WEBP,FD_WM_WEBP"}
result=get_args(api,payload,cookie)
headers.update({'cookie': cookie,'X-s': result['X-s'],'X-t':str(result['X-t'])})
response = requests.post(url, headers=headers,
data=json.dumps(payload, ensure_ascii=False, separators=(',', ':')).encode('utf8')).json()
response_item=response.get('data').get('items')
for search in response_item:
print(search)
