import os import re def get_toc(html): start_url='https://www.kanunu8.com/book3/6879/' toc_url_list=[] toc_block=re.findall('正文(.*?)</tbody>',html,re.S)[0] toc_url=re.findall(' href="(.*?)"',toc_block,re.S) for url in toc_url: toc_url_list.append(start_url+url) return toc_url_list def get_article(html): chapter_name=re.search('size="4">(.*?)<',html,re.S).group(1) text_block=re.search('<p>(.*?)</p>',html,re.S).group(1) text_block=text_block.replace('<br />','') return chapter_name,text_block def save(chapter,article): os.makedirs('F:\植物大战僵尸',exist_ok=True) with open(os.path.join('F:\植物大战僵尸',chapter+'.txt'),'w',encoding='utf-8')as f: f.write(article) 章节内容无法保存到对应路径
时间: 2024-04-12 07:32:50 浏览: 195
根据你提供的代码,章节内容保存到对应路径的问题可能是由于文件路径的问题引起的。你在 `save` 函数中使用了硬编码的文件路径 `'F:\植物大战僵尸'`,这可能导致无法在某些操作系统上正常保存文件。
你可以尝试使用相对路径或者通过用户输入来获取文件保存路径。下面是一个示例,演示如何通过用户输入来获取文件保存路径:
```python
import os
import re
def get_toc(html):
start_url='https://www.kanunu8.com/book3/6879/'
toc_url_list=[]
toc_block=re.findall('正文(.*?)</tbody>',html,re.S)[0]
toc_url=re.findall(' href="(.*?)"',toc_block,re.S)
for url in toc_url:
toc_url_list.append(start_url+url)
return toc_url_list
def get_article(html):
chapter_name=re.search('size="4">(.*?)<',html,re.S).group(1)
text_block=re.search('<p>(.*?)</p>',html,re.S).group(1)
text_block=text_block.replace('<br />','')
return chapter_name,text_block
def save(chapter, article):
folder_path = input("请输入文件夹路径:")
os.makedirs(folder_path, exist_ok=True)
file_path = os.path.join(folder_path, chapter + '.txt')
with open(file_path, 'w', encoding='utf-8') as f:
f.write(article)
# 使用示例
chapter_name = "第一章"
article = "这是第一章的内容"
save(chapter_name, article)
```
在这个示例中,`save` 函数通过用户输入来获取文件夹路径,并将章节内容保存到该路径下的以章节名命名的文件中。
请根据你的实际需求调整代码,并确保文件路径的正确性。如果你有任何其他问题,请随时提问。
阅读全文