【代码】小说输出函数

哈喽大家好!我是@学霸小羊,今天分享一个c++小说技巧。

话说前几天,我想做一个输出小说的程序,但是,直接输出就太单调了,于是我做了一个函数。

void pr(string s,int jg)//s是要输出的东西,t是间隔的参数 
{
    for(int i=0;i<s.size();i++)
    {
        cout<<s[i];
        Sleep(jg);//记得搞 “Windows.h”头文件 
    }
}

好啦,今天就先讲到这,拜拜!

### 使用 Python 爬虫抓取小说网页内容并保存为 TXT 文件 要完成这一任务,可以通过 `requests` 和 `parsel` 庉库来获取网页内容,并解析其中的小说正文部分。随后将提取的内容保存为 `.txt` 文件。 以下是具体实现方法: #### 1. 安装所需依赖 首先需要安装必要的 Python 库: ```bash pip install requests parsel tqdm ``` 这些库的作用如下: - **Requests**: 发起 HTTP 请求以获取目标网页的数据。 - **Parsel**: 提供 XPath 或 CSS Selector 功能用于解析 HTML 文档。 - **Tqdm**: 显示进度条以便观察爬取状态[^2]。 #### 2. 编写代码逻辑 下面是一个完整的代码示例,展示如何抓取小说章节并将它们保存到本地的 `.txt` 文件中: ```python import os import requests from parsel import Selector from tqdm import tqdm def fetch_chapter(url): """ 获取单章内容 """ response = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}) if response.status_code != 200: raise Exception(f"请求失败: {response.status_code}") selector = Selector(response.text) title = selector.xpath('//h1/text()').get().strip() content = "\n".join(selector.xpath('//*[@id="content"]/text()').extract()).strip() return {"title": title, "content": content} def save_to_txt(chapters, file_name): """ 将章节保存为 .txt 文件 """ with open(file_name, 'w', encoding='utf-8') as f: for chapter in chapters: f.write(f"{chapter['title']}\n\n{chapter['content']}\n\n{'-'*40}\n") if __name__ == "__main__": base_url = input("请输入小说首页地址:") start_page = int(input("请输入起始页码:")) end_page = int(input("请输入结束页码:")) all_chapters = [] urls = [f"{base_url}{i}" for i in range(start_page, end_page + 1)] for url in tqdm(urls, desc="正在抓取"): try: chapter_data = fetch_chapter(url) all_chapters.append(chapter_data) except Exception as e: print(f"跳过无法访问的链接: {url}, 错误原因: {e}") output_file = "novel.txt" save_to_txt(all_chapters, output_file) print(f"\n已成功保存至文件 '{output_file}'") ``` 上述代码实现了以下功能: - 用户输入小说的 URL 地址以及起止页数。 - 遍历每一页,调用函数 `fetch_chapter()` 抓取该页的具体内容。 - 调用 `save_to_txt()` 方法将所有章节按顺序存储在一个 `.txt` 文件里[^3]。 #### 3. 注意事项 在执行此脚本前需要注意以下几点: - 确认目标网站允许被爬取,查看其 robots.txt 文件或者相关条款。 - 如果遇到反爬机制(如验证码),可能需要引入额外的技术手段解决,比如 Selenium 模拟浏览器操作。 - 对于动态加载的内容,则需借助 JavaScript 渲染引擎工具,例如 Pyppeteer 或 Playwright。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值