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

news2024/10/7 8:24:22

前言:

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

一:环境配置

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)

四:结果展示

d93252edb9fc4bfa9704bd0464967458.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/971238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

突破瓶颈:如何应对高级职位的面试

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

K8S自动化运维容器Docker集群

K8S:K8S自动化运维容器化(Docker)集群 一.k8s概述 1.k8s是什么 (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.2…

Qt 开发 CMake工程

Qt 入门实战教程(目录) 为何要写这篇文章 目前CMake作为C/C工程的构建方式在开源社区已经成为主流。 企业中也是能用CMake的尽量在用。 Windows 环境下的VC工程都是能不用就不用。 但是,这个过程是非常缓慢的,所以&#xff0…

Linux 学习笔记(2)—— 关于文件和目录

目录 1、切换目录 2、查看系统信息 3、文本的创建和编辑 3-1)创建文件 3-2)查看文件 3-3)输出重定向和追加重定向 3-4)使用 vi 编辑器编辑文件 4、文件和文件夹的处理 4-1)对文件的处理 4-2)查看…

avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools)

avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools) tj-vue2-tools项目地址:https://www.npmjs.com/package/tj-vue2-tools 文档请看项目官方 依赖js-base64 安装依赖 npm install js-base64安装 npm install tj-vue2-t…

Linux代码初试__进度条

前言 在我们的日常生活中,进度条是十分常见的,比如在软件下载中,应用加载中等等~~~那么进度条有什么特点?他又如何实现。 下面我们将结合下面的图展开讲解 一、前置理论知识 1.1回车和换行的区别 在我们的日常生活中&#x…

qt连接tcp通信和连接数据库

通过数据库实现学生管理系统 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//判断数据库对象是否包含了自己使用的数据库 Studemt.dbif(!db.co…

国产集成开发环境工具 CEC-IDE

本周,国内首款适配国产操作系统、自主可控的集成开发环境工具 CEC-IDE 终于开放下载了。公开报道显示,这款集成开发环境工具由数字广东公司联合麒麟软件打造,于今年 6 月份首次亮相。本周,软件上线仅几天内就在知乎和 GitHub 上引…

《存储IO路径》专题:块设备层多队列blk-mq架构

我们想象一下,你是一个餐厅的厨师,你要准备很多不同的菜肴,而每种菜肴需要不同的食材和烹饪时间。如果每道菜都按照需要的顺序来准备,那么你的工作效率一定会非常低。为了提高效率,你会怎么做呢? 在linux架…

分布式 - 服务器Nginx:基础系列之Nginx静态资源优化配置指令sendfile | tcp_nopush | tcp_nodelay

文章目录 1. sendfile 指令2. tcp_nopush 指令3. tcp_nodelay 指令 1. sendfile 指令 请求静态资源的过程:客户端通过网络接口向服务端发送请求,操作系统将这些客户端的请求传递给服务器端应用程序,服务器端应用程序会处理这些请求&#xff…

qt day5 数据库,tcp

数据库 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QSqlDatabase>//数据库管理类 #include <QSqlRecord>//记录类 #include <QSqlQuery>//执行sql语句对应的类 #include <QMessageBox> #include<QDebug> …

Linux命令200例:man用于显示和阅读关于Linux内置命令的使用说明

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0…

玻璃工艺品可以走墨西哥专线吗?

玻璃工艺品作为一种精美独特的艺术品&#xff0c;经常被人们用来装饰家居或作为礼品赠送。然而&#xff0c;对于想要将这些玻璃工艺品运往墨西哥的商家或个人来说&#xff0c;如何选择最便捷的运输方式成为一个重要的问题。那么&#xff0c;玻璃工艺品可以走墨西哥专线吗? 墨西…

VSCode配置Python以及扩展

无论您是经验丰富的开发人员还是刚刚开始编码冒险&#xff0c;正确设置 VS Code 都可能是将您的技能提升到新水平的秘诀。因此&#xff0c;让我们深入探索在 Visual Studio Code 的虚拟墙内打造崇高编码天堂的艺术&#xff01; 为什么选择 VS 代码&#xff1f; VS Code 已成为 …

探索iVX:颠覆传统低代码平台的新潮流

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

判断对象是否发生变化,常用于监听页面表单是否修改并给出保存提示

本文主要封装方法&#xff0c;实现用户离开表单编辑页面时弹出提示框&#xff0c;若表单数据发生变化&#xff0c;则提示用户是否保存当前页面的信息&#xff0c;如图&#xff1a; 封装方法&#xff1a; /*** 比较俩个对象之间的差异&#xff0c;项目中多处用到监听表单数据是…

一文入门Web网站安全测试

文章目录 Web网页安全风险评估1. 数据泄漏2. 恶意软件传播3. 身份伪装和欺诈 测试Web网页的安全性常见方法和工具漏洞扫描器手动漏洞测试漏洞利用工具Web应用程序防火墙&#xff08;WAF&#xff09;测试渗透测试代码审查社会工程学测试 推荐阅读 Web网页安全风险评估 越来越多…

L1-058 6翻了(Python实现) 测试点全过

前言&#xff1a; {\color{Blue}前言&#xff1a;} 前言&#xff1a; 本系列题使用的是&#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库&#xff0c;难度有L1、L2、L3三个等级&#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度&#xff0c;…

ROS通信机制之动作(Action)服务的实践

1、动作概述 讲完了 服务 之后&#xff0c;接下来就是通信的第三种机制&#xff0c;动作。在上节我们知道服务的应用场景是需要在有限时间内完成&#xff0c;而对于一些比较复杂的任务&#xff0c;需要耗时比较长&#xff0c;甚至是不确定时间的时候&#xff0c;就需要用到动作…

20.添加HTTP模块

添加一个简单的静态HTTP。 这里默认读者是熟悉http协议的。 来看看http请求Request的例子 客户端发送一个HTTP请求到服务器的请求消息&#xff0c;其包括&#xff1a;请求行、请求头部、空行、请求数据。 HTTP之响应消息Response 服务器接收并处理客户端发过来的请求后会返…