下面是一个简单的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、选择器等部分。