Merge pull request #264 from Jeffrey-deng/main

This commit is contained in:
Evil0ctal 2023-09-01 01:52:57 -07:00 committed by GitHub
commit 0b4267714b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -83,6 +83,15 @@ class Scraper:
print('Error in get_url:', e) print('Error in get_url:', e)
return None return None
@staticmethod
def relpath(file):
""" Always locate to the correct relative path. """
from sys import _getframe
from pathlib import Path
frame = _getframe(1)
curr_file = Path(frame.f_code.co_filename)
return str(curr_file.parent.joinpath(file).resolve())
# 生成X-Bogus签名/Generate X-Bogus signature # 生成X-Bogus签名/Generate X-Bogus signature
@staticmethod @staticmethod
def generate_x_bogus_url(url: str, headers: dict) -> str: def generate_x_bogus_url(url: str, headers: dict) -> str:
@ -196,7 +205,7 @@ class Scraper:
""" """
# 调用JavaScript函数 # 调用JavaScript函数
query = urllib.parse.urlparse(url).query query = urllib.parse.urlparse(url).query
xbogus = execjs.compile(open('./X-Bogus.js').read()).call('sign', query, self.headers['User-Agent']) xbogus = execjs.compile(open(self.relpath('./X-Bogus.js')).read()).call('sign', query, self.headers['User-Agent'])
print('生成的X-Bogus签名为: {}'.format(xbogus)) print('生成的X-Bogus签名为: {}'.format(xbogus))
new_url = url + "&X-Bogus=" + xbogus new_url = url + "&X-Bogus=" + xbogus
return new_url return new_url