使用Python爬取喜欢的小说后在本地存储为txt文件

本文介绍了使用Python爬虫从特定小说网站抓取小说内容,并将其保存为本地txt文件的步骤。详细讲解了如何获取章节链接、使用BeautifulSoup解析HTML以及设置请求头进行网络请求。最后展示了运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Python爬取喜欢的小说后在本地存储为txt文件

最近在看小说时因为是在手机上在线观看,百度了半天也没找到可以下载的txt全集,实在没办法只好借助python来帮我完成需求!
准备爬取的小说名称 萧阳叶云舒
目标小说网站 https://www.ly990.com/

准备工具:pycharm
chrome 谷歌浏览器(其它浏览器亦可,谷歌最佳)
python3.7 环境

依赖第三方包: requests BeautifulSoup
如果没有requests包

pip install requests

pip install beautifulsoup4

第一步:先获取所有章节以及所有章节的链接
按F12即可出现开发者界面
图1
第二步:刷新界面后,点击Network
![图2

第二步:在浏览器捕捉的众多需求中,除去js,图片等就找到了目标请求,如下图所示
![图3
可以看到该请求响应的html文件中 可以拿到所有 章节,以及每个章节的子链接
现在问题是我们想要的章节都是在html文件中,如何处理呢?没关系,python中的强大的解析库
BeautifulSoup为我们指明了方向
有关BeautifulSoup不懂的同学可以参考下这篇博文链接
https://blog.youkuaiyun.com/qq_36119192/article/details/82952442

我们点开其中一个章节并再次捕捉请求,就可以获得他的请求url:https://www.ly990.com/7_7349/10769168.html;
发现是get请求,该url可以发现是 https://www.ly990.com 和 /7_7349/10769168.html 拼接而成,而/7_7349/10769168.html 就是我们第二步中图片所示的html网页中的信息。我们还可以看看get请求请求头中所需要的信息,其中的path,user-agent:信息需要关注
![图4-1
图4-2
接下来整理思路 我们只要获取所有的章节以及所有章节的子链接,然后我们循环去请求每个章节(请求头中需要设置path,user-agent等),然后以追加的方式进行写入不就可以实现完整小说的爬取了么?
话不多收直接上代码

代码如下

# coding:utf-8

import re
import os
import time
import random
import requests

from bs4 import BeautifulSoup


def get_contents():
    # 请求头
    headers = {
   
   'authority': 'www.ly990.com',
               'method': 'GET',
               'path': '/7_7349/',
               'scheme': 'https',
               'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,'
                         'image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
               'accept-encoding': 'gzip, deflate, br',
               'accept-language': 'zh-CN,zh;q=0.9',
               'referer': 'https://www.ly990.com/7_7349/5975618.html',
               'upgrade-insecure-requests': '1',
               'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
                             "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值