小说信息

This commit is contained in:
2026-08-24 16:40:28 +08:00
parent 7734570f79
commit a5286fb30f

34
text.py
View File

@@ -21,17 +21,17 @@ class SpiderBiQuGe(object):
response = requests.get(url=target_url,headers=self.headers) response = requests.get(url=target_url,headers=self.headers)
# 获取响应 # 获取响应
page_text = response.text 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"): def handler(self,file_name,novel_name,data="",mode="a",encoding="utf-8",tag="source"):
if tag == "source": if tag == "source":
file_dir = os.path.join(self.SOURCE_DIR,novel_name) file_dir = os.path.join(self.SOURCE_DIR,novel_name)
elif tag == "novel": elif tag == "novel":
file_dir= os.path.join(self.NOVEL_DIR,novel_name) file_dir = os.path.join(self.NOVEL_DIR,novel_name)
else: else:
file_dir = self.SOURCE_DIR file_dir = self.SOURCE_DIR
os.makedirs(file_dir,exist_ok=True) 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: with open(file=file_path,mode=mode,encoding=encoding) as fp:
if mode == "a" or mode == "w": if mode == "a" or mode == "w":
fp.write(data) fp.write(data)
@@ -42,9 +42,33 @@ class SpiderBiQuGe(object):
def Spier_index(self): def Spier_index(self):
# 定义目标地址 # 定义目标地址
target_url = f"{self.area}/book/43278/" 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) #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__': if __name__ == '__main__':
spider = SpiderBiQuGe() spider = SpiderBiQuGe()
spider.Spier_index() spider.Spier_index()