diff --git a/text.py b/text.py index 9a9e05b..eba4d51 100644 --- a/text.py +++ b/text.py @@ -21,17 +21,17 @@ class SpiderBiQuGe(object): response = requests.get(url=target_url,headers=self.headers) # 获取响应 page_text = response.text - return etree.HTML(page_text) + return page_text ,etree.HTML(page_text) # 负责写入和读取本地文件数据的 def handler(self,file_name,novel_name,data="",mode="a",encoding="utf-8",tag="source"): if tag == "source": file_dir = os.path.join(self.SOURCE_DIR,novel_name) elif tag == "novel": - file_dir= os.path.join(self.NOVEL_DIR,novel_name) + 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}") + 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) @@ -42,9 +42,33 @@ class SpiderBiQuGe(object): def Spier_index(self): # 定义目标地址 target_url = f"{self.area}/book/43278/" - tree = self.create_tree(target_url=target_url) + page_text,tree = self.create_tree(target_url=target_url) + novel_name = tree.xpath('//div[@class="info"]/h1/text()')[0].strip() + # /html/body/div[5]/div[2]/div[2] + novel_info = tree.xpath('//div[@class="info"]/div[2]/span') + author_name = novel_info[0].xpath("./text()")[0] + is_close = novel_info[1].xpath("./text()")[0] + update_time = novel_info[2].xpath("./text()")[0] + last_update = f'最新:{novel_info[-1].xpath("./a/text()")[0]}({self.area + novel_info[-1].xpath("./a/@href")[0]})' + data = f''' + {novel_info} + {author_name} + {is_close} + {update_time} + {last_update} + ''' + print(data) + + #print(self.area + novel_info[-1].xpath("./a/@href")[0]) + #print(novel_info[-1].xpath("./a/text()")[0]) + #print(novel_info) + for info in novel_info: + data = info.xpath("./text()")[0] + #print(data) + #print(self.area + novel_info[-1].xpath("./a/@href")[0]) + #print(novel_info[-1].xpath("./a/text()")[0]) #print(page_text) - #self.handler(file_name="index",novel_name=) + self.handler(file_name="index",novel_name=novel_name,data=page_text) if __name__ == '__main__': spider = SpiderBiQuGe() spider.Spier_index()