From 0c97163a248d78279285b96132cb9f31ec0a381f Mon Sep 17 00:00:00 2001 From: xingzhibang <775288271@qq.com> Date: Mon, 24 Aug 2026 14:25:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text.py | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/text.py b/text.py index 0728fd6..cd7ea29 100644 --- a/text.py +++ b/text.py @@ -9,15 +9,42 @@ class SpiderBiQuGe(object): self.headers = { "User-Agent":UserAgent().random } + self.area = "https://www.bqgie.cc" # 根目录 self.BASE_DIR = os.path.dirname(__file__) # 源码文件目录,存储爬取到的每一页的源码数据 self.SOURCE_DIR = os.path.join(self.BASE_DIR,"novel","source") # 文档目录,存储解析到小说的内容 self.NOVEL_DIR = os.path.join(self.BASE_DIR,"novel","novel") - - def handler(self,file_name,mode="a",encoding="utf-8",tag="source"): + def create_tree(self,target_url): + # 发起请求 + response = requests.get(url=target_url,headers=self.headers) + # 获取响应 + page_text = response.text + return etree.HTML(page_text) + # 负责写入和读取本地文件数据的 + def handler(self,file_name,novel_name,data="",mode="a",encoding="utf-8",tag="source"): if tag == "source": - file_path = os.path.join(self.SOURCE_DIR,f"{file_name.html}") - - + file_dir = os.path.join(self.SOURCE_DIR,novel_name) + elif tag == "novel": + file_dir= os.path.join(self.NOVEL_DIR,novel_name) + else: + file_dir = self.SOURCE_DIR + os.makedirs(file_dir,exist_ok=True) + file_path = os.path.join(file_dir,f"{file_name.html}") + with open(file=file_path,mode=mode,encoding=encoding) as fp: + if mode == "a" or mode == "w": + fp.write(data) + else: + data = fp.read() + return data + # 抓取小说主页 + def Spier_index(self): + # 定义目标地址 + target_url = f"{self.area}/book/43278/" + tree = self.create_tree(target_url=target_url) + #print(page_text) + self.handler(file_name="index",novel_name=) +if __name__ == '__main__': + spider = SpiderBiQuGe() + spider.Spier_index()