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 12:32:48 浏览: 42
你的代码看起来是用来爬取《植物大战僵尸》的小说内容并保存到本地文件的。代码中,`get_toc` 函数用于获取小说章节目录的 URL,`get_article` 函数用于提取章节名称和内容,`save` 函数用于保存章节内容到本地文件。
但是,请注意,在代码中的 `save` 函数中,你使用了硬编码的文件路径 `'F:\植物大战僵尸'`,这可能会导致无法在某些操作系统上正常保存文件。建议使用相对路径或者通过用户输入来获取文件保存路径。
另外,根据你提供的代码,你还需要编写爬取整本小说的逻辑。你可以首先使用 `get_toc` 函数获取小说章节目录的 URL 列表,然后遍历列表,对每个章节的 URL 使用 `requests` 库发送 HTTP 请求获取章节内容的 HTML 页面,再使用 `get_article` 函数提取章节名称和内容,最后使用 `save` 函数将章节内容保存到本地文件。
如果你有任何其他问题,请随时提问。
阅读全文