python

Python大佬手把手教你如何自制小说下载器

小云
159
2023-09-21 10:50:14
栏目: 编程语言

下面是一个简单的Python代码示例,演示如何自制一个小说下载器:

```python
import requests
from bs4 import BeautifulSoup

def get_novel_content(url):
   # 发送GET请求获取网页内容
   response = requests.get(url)
   response.encoding = 'utf-8'
   html = response.text

   # 使用BeautifulSoup解析网页内容
   soup = BeautifulSoup(html, 'html.parser')
   
   # 提取小说内容
   novel_content = soup.find('div', {'class': 'novel-content'}).get_text()

   return novel_content

def download_novel(novel_url, save_path):
   # 发送GET请求获取小说目录页
   response = requests.get(novel_url)
   response.encoding = 'utf-8'
   html = response.text

   # 使用BeautifulSoup解析目录页
   soup = BeautifulSoup(html, 'html.parser')
   
   # 提取小说章节链接
   chapter_links = soup.find_all('a', {'class': 'chapter-link'})

   # 逐个下载章节
   for link in chapter_links:
       chapter_url = link['href']
       chapter_title = link.text

       # 获取章节内容
       chapter_content = get_novel_content(chapter_url)

       # 保存章节内容到文本文件
       with open(save_path, 'a', encoding='utf-8') as f:
           f.write(chapter_title + '\n\n')
           f.write(chapter_content + '\n\n')

       print(f"成功下载章节:{chapter_title}")

   print("下载完成!")

# 测试代码
novel_url = "https://example.com/novel"  # 小说目录页的URL
save_path = "novel.txt"  # 保存小说内容的文件路径

download_novel(novel_url, save_path)
```
请注意,这只是一个简单的示例代码,具体的实现可能需要根据不同的小说网站进行调整。你需要根据目标小说网站的HTML结构和页面规则,适配代码中的URL、选择器等部分。

0
看了该问题的人还看了