爬虫练习:获取某小说网站小说内容

一、相关网站

二、查看robots.txt

三、查看小说主页面url,获取小说章节名称和href

(1).相关代码
import requests
from lxml import etree

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
url = 'https://www.quanben.so/94_94335/'
response = requests.get(headers=headers,url=url)
# print(response.status_code)
result = etree.HTML(response.text)
urls = result.xpath('//div/dl/dd[position() >= 13]/a/@href')
titles = result.xpath('//div/dl/dd[position() >= 13]/a/text()')
print(urls,titles)
(2).获取的结果

四、获取每章节小说内容

(1).相关代码
import requests
from lxml import etree

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
url = 'https://www.quanben.so/94_94335/67871925.html'
response = requests.get(headers=headers,url=url)
# print(response.status_code)
result = etree.HTML(response.text)
# content = result.xpath('//div[@id="content"]/br/following-sibling::text()')
"""
# 注意:这可能会返回包含所有文本节点的列表,包括换行符、空格等
texts = result.xpath('//div[@id="content"]/text()')
# 将列表中的文本节点连接成一个字符串
content = ''.join(texts).strip()  # 使用strip()去除字符串两端的空白字符

"""
# content = ''.join(result.xpath('//div[@id="content"]/text()')).strip()
content = '\n'.join(result.xpath('//div[@id="content"]/text()')).strip()
print(content)
(2).获取的结果

五、网页拼接,获取每章节小说的名称和url

(1).相关代码
import requests
from lxml import etree

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
url = 'https://www.quanben.so/94_94335/'
response = requests.get(headers=headers, url=url)
result = etree.HTML(response.text)

urls = result.xpath('//div/dl/dd[position() >= 13]/a/@href')
titles = result.xpath('//div/dl/dd[position() >= 13]/a/text()')

base_url = 'https://www.quanben.so/94_94335/'

for title, url in zip(titles, urls):
    full_url = base_url + url
    print(f'{title} === {full_url}')
(2).获取的结果

六、完善代码,将获取内容保存到txt文件中

(1).相关代码
import os
import time
import requests
from lxml import etree

headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
url = 'https://www.quanben.so/94_94335/'
response = requests.get(headers=headers, url=url)
result = etree.HTML(response.text)

urls = result.xpath('//div/dl/dd[position() >= 13]/a/@href')
titles = result.xpath('//div/dl/dd[position() >= 13]/a/text()')
base_url = 'https://www.quanben.so/94_94335/'

# 创建目录
directory = "神印王座II皓月当空"
if not os.path.exists(directory):
    os.makedirs(directory)

for title, url in zip(titles, urls):
    full_url = base_url + url
    response = requests.get(headers=headers, url=full_url)
    result = etree.HTML(response.text)

    content = '\n'.join(result.xpath('//div[@id="content"]/text()')).strip()
    # 将标题中的非法字符替换为下划线
    title = title.replace(':', '_').replace('?', '_')
    # 将内容写入文件
    file_name = os.path.join(directory, f"{title}.txt")
    with open(file_name, "w", encoding="utf-8") as f:
        f.write(content)

    print(f"已将 {title} 的内容写入 {file_name}")
    # 由于网站限制,每爬取一章节,睡眠2秒
    time.sleep(2)
(2).获取的结果

版权声明和免责声明

本博客提供的所有爬虫代码和相关内容(以下简称“内容”)仅供参考和学习之用。任何使用或依赖这些内容的风险均由使用者自行承担。我(博客所有者)不对因使用这些内容而产生的任何直接或间接损失承担责任。

严禁将本博客提供的爬虫代码用于任何违法、不道德或侵犯第三方权益的活动。使用者应当遵守所有适用的法律法规,包括但不限于数据保护法、隐私权法和知识产权法。

如果您选择使用本博客的爬虫代码,您应当确保您的使用行为符合所有相关法律法规,并且不会损害任何人的合法权益。在任何情况下,我(博客所有者)均不对您的行为负责。

如果您对本声明有任何疑问,或者需要进一步的澄清,请通过我的联系方式与我联系。

<think>嗯,用户让我介绍一下DeepSeek的高级提示词技巧使用详解。首先,我需要确定用户对DeepSeek的了解程度。可能他们知道这是一个AI模型,但想更有效地使用它。接下来,我应该考虑他们可能的应用场景,比如写作、数据分析或者编程,但用户没有具体说明,所以需要保持通用性。 高级提示词技巧通常涉及如何构造问题以获得更精确的回答。用户可能遇到了普通提问得不到满意结果的情况,所以需要提升他们的提问技巧。我需要分点解释不同的技巧,比如角色设定、结构化输出、多步骤任务分解等等。 要注意避免使用过于专业的术语,确保解释通俗易懂。同时,可能需要给出示例,帮助用户理解每个技巧的实际应用。例如,在角色设定中,用户可以让AI扮演专家角色,这样回答会更专业。需要举一个具体的例子,比如让AI作为营养师设计饮食计划。 另外,用户可能希望了解如何让AI进行多角度分析或逐步思考,这有助于解决复杂问题。需要强调分解任务的重要性,并给出分步骤的示例,比如数据分析的流程。 还要提到控制生成参数,如温度设置和最大长度,这些参数影响输出的创造性和长度。用户可能不知道这些参数的存在,所以需要简要说明它们的作用和如何调整。 最后,用户可能需要排除常见错误,比如提示词过于模糊或者缺乏约束。这时候需要提醒他们明确需求,设定限制条件,比如代码的编程语言或格式。 总结一下,我需要组织一个结构清晰、包含多个技巧的指南,每个技巧都附带定义、作用、示例和注意事项。这样用户能系统地学习和应用这些高级提示词技巧,提升他们使用DeepSeek的效果。</think>以下是 **DeepSeek 高级提示词技巧使用详解**,帮助你更高效地利用这一工具解决复杂问题或生成高质量内容: --- ### **一、基础原则** 1. **清晰明确** 避免模糊表述,明确任务目标、格式或限制条件。 **示例**: ❌ "写一篇关于气候变化的文章" ✅ "用通俗易懂的语言,写一篇800字关于气候变化对农业影响的科普文章,包含3个具体案例。" 2. **结构化输入** 用分点、分段或符号(如```)划分不同要求,帮助AI理解逻辑。 **示例**: ``` 任务:分析《三体》的文学价值 要求: - 从科幻设定、人物塑造、哲学思考三方面展开 - 结合20世纪中国历史背景 - 输出500字以内 ``` --- ### **二、高级技巧** #### 1. **角色设定法** **作用**:让AI模拟特定身份(专家、编辑、用户等),提升回答专业性。 **示例**: > "你是一位资深营养师,请为糖尿病患者设计一份一周早餐食谱,要求: > - 低GI、高纤维 > - 标注每餐热量和营养素比例 > - 附食材替代方案" #### 2. **思维链引导(Chain-of-Thought)** **作用**:要求AI展示推理过程,适合复杂问题解决。 **示例**: > "请分步骤解释如何用Python进行时间序列预测: > 1. 数据清洗的关键步骤 > 2. 特征工程建议 > 3. 推荐3种模型及其适用场景 > 4. 评估指标选择" #### 3. **多角度生成** **作用**:获取全面视角,避免单一答案局限。 **示例**: > "从经济学家、环保主义者和普通消费者三个角度,分析新能源汽车补贴政策的利弊,用表格对比三者观点。" #### 4. **渐进式细化** **作用**:通过多次交互逐步完善结果,适用于创意类任务。 **步骤**: - 第一轮:生成文章大纲 - 第二轮:扩展第三节的案例细节 - 第三轮:优化开头段的吸引力 #### 5. **反向约束法** **作用**:通过排除法明确需求边界。 **示例**: > "写一段科幻小说开头,要求: > - 避免外星人或时间旅行元素 > - 以人工智能伦理为核心冲突 > - 包含一个意外转折" --- ### **三、专业场景应用** #### 1. **代码开发** ```markdown 任务:编写Python爬虫 要求: - 使用requests-html库 - 绕过反爬机制(User-Agent轮换+IP代理) - 提取页面中所有PDF链接 - 输出为CSV文件 ``` #### 2. **数据分析** > "分析某电商销售数据(附样例数据),请: > 1. 指出销售额季度波动规律 > 2. 识别TOP3高退货率商品特征 > 3. 用matplotlib绘制客单价分布直方图" #### 3. **学术研究** > "作为社会学研究员,请: > 1. 对比布迪厄与福柯的权力理论差异 > 2. 列举近5年相关实证研究(附DOI) > 3. 提出3个未被充分探索的研究方向" --- ### **四、参数控制技巧** 1. **温度值(Temperature)** - 低温度(0.1-0.3):保守、确定性输出 - 高温度(0.7-1.0):创意性强但可能偏离主题 2. **最大长度(Max Length)** 根据任务复杂度调整:技术文档建议1000+ tokens,邮件建议<300 tokens。 --- ### **五、常见错误规避** - **过度抽象**:避免仅给出“写得好一点”等模糊要求,需具体说明改进方向(如逻辑衔接、数据支撑等) - **忽略上下文**:连续对话中需及时纠正偏差,可用“请以上文提到的第二点为基础继续扩展”明确指引 - **缺乏验证**:对关键数据/代码,追加“请检查第三条公式中的单位换算是否正确”等验证指令 --- 通过灵活组合这些技巧,可显著提升与DeepSeek的协作效率。建议从简单任务开始练习,逐步增加复杂度,并观察不同提示方式的响应差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马龙强_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值