From 63fb38786a2c9f0c5ff4318206416d74db235488 Mon Sep 17 00:00:00 2001 From: "jeffrey.deng" Date: Fri, 1 Sep 2023 16:32:04 +0800 Subject: [PATCH] =?UTF-8?q?X-Bogus.js=E4=BD=BF=E7=94=A8=E7=BB=9D=E5=AF=B9?= =?UTF-8?q?=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scraper.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scraper.py b/scraper.py index a9edab5..d4f436a 100644 --- a/scraper.py +++ b/scraper.py @@ -112,6 +112,15 @@ class Scraper: except Exception as e: print('Error in get_url:', e) 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()) # 转换链接/convert url @retry(stop=stop_after_attempt(4), wait=wait_fixed(7)) @@ -218,7 +227,7 @@ class Scraper: """ # 调用JavaScript函数 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)) new_url = url + "&X-Bogus=" + xbogus return new_url