Python爬取小说

爬取小说大致分三步

1.获取网页

2.分析获取内容

3.保存到文本

具体步骤放代码里了,注释很清晰了。

python 复制代码
# 爬取小说

#requests是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。
#pip install requests
#lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式
#pip install lxml
from lxml import etree
import requests
#网站地址
url = "https://dldl1.nsbuket.cc/xiaoshuo/douluodalu/1.html"
while True:
    #伪装用户
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0'
    }
    # 发送请求,get方式
    resp = requests.get(url,headers=headers)
    #设置编码
    resp.encoding='utf-8'
    #响应信息
    # print(resp.text)

    # 获取文本
    e=etree.HTML(resp.text)
    info='\n'.join(e.xpath('//div[@class="m-post"]/p/text()'))#章节内容
    title=e.xpath('//h1/text()')[0]#章节标题
    # print(title)
    # print(info)

    # 获取下一章节地址
    url = f'https://dldl1.nsbuket.cc{e.xpath("//td[2]/a/@href")[0]}'
    print(title)

    #保存
    with open('斗罗大陆.txt','a',encoding='utf-8') as f:
        f.write(title+'\n\n'+info+'\n\n')

    #退出循环
    if url=='https://dldl1.nsbuket.cc/xiaoshuo/douluodalu/217333.html':
        break
相关推荐
星轨初途几秒前
LeetCode 热题 100——day10 和为 K 的子数组
开发语言·c++·算法·leetcode
zzzzzz310几秒前
LLM 成本治理:从 token 账单到线上熔断,团队应该先做哪三件事?
人工智能·python·api
sycmancia3 分钟前
Qt——自定义控件温度计
开发语言·qt
UQR33 分钟前
一、Java基础高频面试题
java·开发语言
AC赳赳老秦34 分钟前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw
北斗落凡尘34 分钟前
LangGraph 入门实战(3)
python·langchain
MoonBit月兔37 分钟前
MoonBit 受邀亮相 SPLASH/ISSTA 2026,与 Java、Rust、Eiffel、D 语言核心贡献者同场交流
开发语言·后端·rust
必须会一定会42 分钟前
用纯 HTML/JS 做一个 AI 需求澄清器:把模糊想法转换成可执行任务书
开发语言·前端·javascript·人工智能·html·ai编程
TAN-90°-1 小时前
Deep Learning for Computer Vision——Image Classification with Linear Classifiers
python·深度学习·算法·计算机视觉·线性回归
AINative软件工程1 小时前
LLM API 成本失控怎么办?工程师的实时异常检测指南
python