爬虫源码---爬取自己想要看的小说

前言:

小说作为在自己空闲时间下的消遣工具,对我们打发空闲时间很有帮助,而我们在网站上面浏览小说时会被广告和其他一些东西影响我们的观看体验,而这时我们就可以利用爬虫将我们想要观看的小说下载下来,这样就不会担心广告的影响了。

一:环境配置

Python版本:3.7.3

IDE:PyCharm

所需库:requests,lxml,time

二:准备工作

1:安装好我们所需要的库。

2:我们需要在电脑上的指定位置来创建一个文件夹来保存我们爬取的小说。

3:需要去下载XPATH插件以便于我们获取小说的名字(资源已上传,可自行下载安装)。

三:具体代码实现

复制代码
import requests
from lxml import etree
import time
url = 'https://www.biquge365.net/newbook/33411/'
head = {
    'Referer': 'https://www.biquge365.net/book/33411/',
    'users-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.39'
}
response = requests.get(url,headers = head,verify = False)
# print(response.text)
html = etree.HTML(response.text)
novel_name = html.xpath('/html/body/div[1]/div[3]/div[1]/h1/text()')[0]
novel_directory = html.xpath('/html/body/div[1]/div[4]/ul/li[*]/a/@href')
#由于网站可能具有反扒措施,所以我们设置一下时间,防止被反扒
time.sleep(6)
for i in novel_directory:
    com_url = 'https://www.biquge365.net'+i
    response2 = requests.get(com_url,headers=head)
    html2 = etree.HTML(response2.text)
    novel_chapter = html2.xpath('//*[@id="neirong"]/h1/text()')[0]
    novel_content = '\n'.join(html2.xpath('//*[@id="txt"]/text()'))
    with open('E:\\python源码\\爬虫教程\\小说.txt'+novel_chapter+'.txt','w',encoding='utf-8') as file:
        file.write(novel_chapter+'\n'+novel_content+'\n')
        file.close()
        print("下载成功"+novel_chapter)

四:结果展示

相关推荐
卷无止境28 分钟前
FastAPI 的可观测性进化,从打日志到看清整个系统的呼吸
后端·python·fastapi
卷无止境1 小时前
FastAPI 的 CI/CD 之路,从代码提交到线上运行
后端·python·fastapi
2601_962382431 小时前
系统学习Python——单元测试unittest:执行测试用例(unit test python)
python·测试用例·测试框架·unittest·测试集合
小玮看世界1 小时前
[Python]动态规划三步走:从爬楼梯到打家劫舍,再到最大子数组和
开发语言·python·动态规划
风萧萧19991 小时前
JAVA :JSONObject转换为XML
xml·java·python
海拥✘1 小时前
网页抓取 API 稳定性怎么测?用 Dataify 完成一次真实压测
python
databook1 小时前
几何分布:从“等一个结果”开始
python·数据挖掘·数据分析
用户0332126663671 小时前
如何在 Python 环境中裁剪 PDF 页面
python
威联通网络存储1 小时前
TS-h2287XU-RP 在医药制造批记录与合规归档场景的部署
python·制造
蓝鸟19741 小时前
Python Flask + Oracle 接口开发 小白完整版笔记(入参/查库/批量/JSON/避坑)
python·oracle·flask