Python爬虫下载小说

Tip

  • 这是一个非常简单的小说网站,读者可以拿来练习爬虫,练习xpath,文章内不让带网址,私信我获取网址。代码里有详细注释。

代码

python 复制代码
import requests as r
from lxml import etree
import re

## 根网址
base_url = "xxx"

## 小说id,即小说目录地址后的那一串数字
content_id = "xxx"

## 下载路径及文件名
myFile= "./小说名.txt"

## 获取html
items = r.get(base_url + "/" + content_id).text
html_body = etree.HTML(items).xpath("/html/body")


## 获取小说目录
## 这里采用了xpath的方式获取到类为listmain的div,并获取到其内部的dl,然后获取第二个dt之后的所有dd标签,获取每个dd标签下的a标签的href即为小说每一章的地址。
href = html_main.xpath("//div[@class='listmain']/dl/dt[2]/following-sibling::dd//a/@href")

## 打开文件并追加写入每一章的标题和内容,记得在最后处理一下\n\t和一些其它编码符。(可以适当添加延迟或者参考笔者之前的代理ip博客使用代理ip,否则可能会出现访问超时)
with open(myFile,"a", encoding="utf-8") as f:
    for item in href:
        res_content = ""
		# 拼接url
        url = base_url+item
        response = r.get(url).text
        res_html = etree.HTML(response)
        title = res_html.xpath("//div[@class='content']/h1/text()")[0]
        print("正在下载:"+title)
        res_content+=title
        res_content+='\n'
        contents = res_html.xpath("//div[@id='content']/text()")
        for content in contents:
            trans_content = re.sub(r'\xa0', '', content)
            res_content += content.replace("\xa0","").replace('\r','\t')
            res_content+='\n'
        f.write(res_content)
    print("下载完成")

其它爬虫文章

记一次用Python爬取代理IP并使用(尝试用代理IP制造直播房间访问量)
记一次用Python统计全国女性Size
Python爬虫------爬取阳光高考专业数据并对所有专业进行数据分析

相关推荐
jerryinwuhan11 分钟前
Python快速入门(纯净版)
python
liferecords12 分钟前
第 12 讲 · Python 侧接入:火焰图定位热点与间接使用硬件加速
python·性能分析·鲲鹏·火焰图·ctypes
hhzz12 分钟前
【OpenCV 入门到精通 11】机器学习应用:KNN、SVM 与 K-Means 实战
人工智能·python·深度学习·opencv
K 旺仔小馒头26 分钟前
【项目】商城系统用户端测试报告
自动化测试·python·功能测试
东莞市云毅网络有限公司38 分钟前
用 SQLite FTS5 给企业文档建本地全文索引:中文分词与权重调优
python·数据清洗·rag·企业知识库·文档解析
钱栈up40 分钟前
health从200变000:一次差点引发双端口冲突的后端巡检复盘
python
正经教主41 分钟前
【FDE系列】阶段2:Day 22:变量、数据类型、条件判断 — Python 的“记忆“和“判断“
人工智能·python·fde
打工仔折腾 AI1 小时前
Pascal Editor 本地部署实战:Bun 启动 WebGPU 3D 编辑器并解决公网访问报错
人工智能·后端·python·性能优化
m0_547486661 小时前
《Python从入门到数据分析应用》全套PPT课件2026
python·数据分析
All for pursuit.1 小时前
FastAPI+Ollama 部署本地AI大模型对话助手
python·github·aigc·ollama