1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # -*- coding: utf-8 -*-
- """
- Created on 2024-09-29
- ---------
- @summary: 加速乐
- ---------
- @author: Dzr
- """
- import json
- import pathlib
- import re
- import execjs
- import requests
- _cookies = {}
- def check_script(text):
- ret = re.findall('cookie=(.*?);location', text)
- assert len(ret) > 0
- def ck1(url, headers, timeout=10, proxies=None):
- global _cookies
- response = requests.get(url, headers=headers, timeout=timeout, proxies=proxies)
- _cookies.update(response.cookies)
- text = response.content.decode()
- check_script(text)
- script = re.findall('cookie=(.*?);location', text)[0]
- _, val = next(iter(execjs.eval(script).split(';')), '').split('=')
- # print(val) # jsl_clearance_s
- _cookies['__jsl_clearance_s'] = val
- # _cookies[_] = val
- def get_params(url, headers, timeout, proxies=None):
- global _cookies
- # 通过携带 jsluid_s 和 jsl_clearance_s 值的 cookie 获取第二层响应内容
- request_params = dict(cookies=_cookies, timeout=timeout, proxies=proxies)
- response = requests.get(url=url, headers=headers, **request_params)
- # 获取 go 字典参数
- go_params = re.findall(';go\((.*?)\)</script>', response.content.decode())[0]
- params = json.loads(go_params)
- return params
- def ck2(url, headers, timeout=10, proxies=None):
- filelib = (pathlib.Path(__file__).parent.absolute() / 'jsl.js').absolute()
- script = filelib.open('r', encoding='utf-8').read()
- params = get_params(url, headers, timeout, proxies)
- # 传入字典
- third_cookie = execjs.compile(script).call('cookies', params)
- _cookies.update(third_cookie)
- def get_jsl_cookies(url, headers, **kwargs):
- global _cookies
- ck1(url, headers, **kwargs)
- ck2(url, headers, **kwargs)
- return _cookies
- get_cookies = get_jsl_cookies
- if __name__ == '__main__':
- jsl_headers = {
- 'Referer': 'https://zjcs.cqggzy.com/cq-zjcs-pub/invalidProject/view/500103MB0T460482408210380',
- 'Upgrade-Insecure-Requests': '1',
- 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
- }
- jsl_url = 'https://zjcs.cqggzy.com/cq-zjcs-pub/invalidProject/view/500103MB0T460482408210380'
- print(get_cookies(jsl_url, jsl_headers))
|