python spider novel

news2024/11/13 9:03:46

python msedgedriver 获取小说

声明:只为学习/练习技术第一章的截图
from lxml import etree
from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.edge.options import Options

import time

# 初始化EdgeOptions, 以隐藏浏览器窗口
options = Options()
# 在无节目环境下运行
options.add_argument("--headless")

driver_path = "msedgedriver.exe"
service = Service(executable_path=driver_path)
driver = webdriver.Edge(service=service, options=options)

url_prefix = "https://www.l*d*k*s*.com"
url = url_prefix + "/html/91/91737/1100841.html"
while True:
    driver.get(url)
    time.sleep(1)  # 等待响应,随便设置,单位秒,最好>=1
    page_source = driver.page_source
    tree = etree.HTML(page_source)
    # 这里获取到的是列表, 转为字符串, 且用换行符分隔
    content = "\n".join(tree.xpath("//div[@id='content']/p/text()"))
    # 这离获取到的是每一章的标题
    title = tree.xpath("//div[@class='bookname']/h1/text()")[0]
    # 下一章节的路径
    next_ur = tree.xpath("//div[@class='bookname']/div[@class='bottem1']/a[3]/@href")[0]
    # 下一章节的完整路径
    url = url_prefix + next_ur
    print(f"正在下载《{title}》...")
    with open("./mjts/mjts.txt", "a", encoding="utf-8") as file:
        file.write(title + "\n\n" + content + "\n\n")

	 # 根据观察发现,有的不是章节,是其他内容,不属于小说部分的就跳过
    if "章" not in title: 
        continue
    # 这个是目录章节,代表当前下载的是最后的章节,所以就不再获取了
    if "/html/91/91737/" == next_ur:  
        break
    time.sleep(2)  # 减小服务器的压力,随便设置,单位秒

print("下载完毕")

##### 需要注意的点

 1. 找到要下载小说的页面,F12 查看请求头的 User-Agent 中的浏览器版本,下载对应的msedgedriver.exe。下载地址: [msedgedriver下载传送门](https://registry.npmmirror.com/binary.html?path=edgedriver/)2. 下载的 msedgedriver.exe 放到一个位置,将来py运行时能找到就行。
 3. 最后,有多种方式可以实现小说的获取,这只是其中的一种。

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

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

相关文章

【系统规划与管理师】【案例分析】【考点】【答案篇】第4章 IT服务规划设计

【问题篇】☞【系统规划与管理师】【案例分析】【考点】【问题篇】第4章 IT服务规划设计 【移动端浏览】☞【系统规划与管理师】【案例分析】【模拟考题】章节考题汇总(第4章)(答案篇)(共38个知识点) 第4章…

《数字信号处理》学习05-单位冲击响应与系统响应

目录 一,单位冲激响应 二,LTI系统对任意序列的系统响应 三,LTI系统的性质 通过上一篇文章《数字信号处理》学习04-离散时间系统中的线性时不变系统-CSDN博客的学习,我已经知道了离散时间线性时不变系统(LTI&#x…

基于 jenkins 的持续测试方案

CI/CD Continuous Integration; Continuous Deployment; 持续集成,将新代码和旧代码一起打包、构建;持续部署,将新构建的包进行部署;持续测试,将新代码、新单元测试一起测试;方案: 公有云DevO…

Python 控制Chrome浏览器使用Selenium4操作点击百度搜索

前面我们讲到如何安装Selenium和ChromeDriver来驱动打开网页,现在我们有一个目的就是使用python来控制chrome浏览器打开百度并搜索 直接先上调试好的代码 from time import sleepfrom selenium import webdriver from selenium.webdriver.common.keys import Keys from selen…

2-88 基于matlab的四叉树加权聚焦多聚焦图像融合

基于matlab的四叉树加权聚焦多聚焦图像融合,的四叉树分解策略将源图像被分解成四叉树结构中具有最佳尺寸的块。在这个树形结构中,使用一种新的加权焦点测量方法(名为加权修正拉普拉斯之和)来检测焦点区域。可以很好地从源图像中提…

1934. 数字游戏(number)

代码 #include<bits/stdc.h> using namespace std; int main() {int ans0,i;string s;cin>>s;for(i0;i<7;i)if(s[i]1)ans;cout<<ans;return 0; } 记得点赞关注收藏&#xff01;&#xff01;&#xff01;谢谢&#xff01;&#xff01;&#xff01;

基于huffman树的文件压缩项目以及相关测试

前言 项目采用Huffman编码的方式进行文件压缩与解压缩。主要原理是通过Huffman编码来表示字符&#xff0c;出现次数多的编码短&#xff0c;出现次数少的编码长&#xff0c;这样整体而言&#xff0c;所需要的bit位是减少的&#xff0c;就实现了文件压缩功能。读取文件中的字符出…

基于大语言模型智能体的自主机器学习

文章介绍了MLR-Copilot框架&#xff0c;这是一种利用大型语言模型&#xff08;LLMs&#xff09;来自动化机器学习研究中创意生成、实验设计和实施过程的方法。该框架分为三个阶段&#xff1a; 首先通过阅读现有研究文献&#xff0c;使用LLM驱动的IdeaAgent来生成研究假设和实验…

PADS Router 入门基础教程(一)

有将近三周没有更新过博客了&#xff0c;最近在整理PADS Router 入门基础教程&#xff0c;希望喜欢本系列教程的小伙伴可以点点关注和订阅&#xff01;下面我们开始进入PADS Router课程的介绍。 一、PADS Router 快捷键 ​ 二、课程介绍 本教程主要介绍&#xff1a;PADS Rou…

电脑安装Winserver2016无法安装网卡驱动(解决办法)

因为工作原因&#xff0c;需要找一台PC机作为服务器去测试软件性能问题&#xff0c;故需要在PC机上安装网卡驱动。 电脑品牌&#xff1a;联想 型号&#xff1a;天逸510Pro-18ICB 操作系统&#xff1a;WindowsServer2016&#xff08;桌面版&#xff09; 问题&#xff1a;系统…

连接池-druid

原因&#xff1a;通过jdbc 创建Connection时比较耗费资源和时间&#xff0c;如果程序每次执行数据库操作都自己创建连接&#xff0c;项目不好控制连接数量&#xff0c;另外程序执行相对耗时。 市面上有很多厂商有连接池组件&#xff0c;目前比较出名的是alibaba druid 以及 Hi…

828华为云征文|华为Flexus云服务器快速上手实例安装“运维搭子”

⭐ 引言 华为云Flexus X实例简介 在现代云计算的世界里&#xff0c;资源的灵活性和性能至关重要。华为云Flexus X实例正是为满足这一需求而诞生的&#xff0c;它代表了云服务器技术的新高度 &#x1f310;&#x1f680;。 华为云Flexus X实例采用了领先的擎天QingTian架构&a…

计算机毕业设计 沉浸式戏曲文化体验系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

深入探索嵌入式 Linux

摘要&#xff1a;本文深入探究嵌入式 Linux。首先回顾其发展历程&#xff0c;从早期尝试到克服诸多困难逐渐成熟。接着阐述其体系结构&#xff0c;涵盖硬件、内核、文件系统和应用层。开发环境方面包括交叉编译工具链、调试工具和集成开发环境。在应用领域&#xff0c;广泛应用…

uniapp设置微信小程序的交互反馈

链接&#xff1a;uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗&#xff1a; title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon&#xff1a;error是设置我们失败的logo 设置的文字上…

探探我对加密算法的认识

密码学基本认知 为什么需要加密算法&#xff0c;如果不加密可能导致哪些问题&#xff1f; 如果对传输的数据不使用加密算法&#xff0c;所有的数据在传输过程中都是明文传输的&#xff0c;那么会出现以下三种问题&#xff1a; 1&#xff09;泄露问题&#xff1a;如果在网络中…

大美祖国之地名篇-探寻全国同名地名

目录 前言 一、地名数据库 1、数据库模型 2、数据表结构 二、实践之旅&#xff0c;发现同名地名 1、省、市同名 2、市、县同名 3、 区县、乡镇同名 4、乡镇和村委会同名 三、总结 前言 我们祖国地大物博&#xff0c;从北到南&#xff0c;从东到西。祖国位于亚洲东部&…

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失&#xff0c;在SigLIP这个工作中&#xff0c;作者提出采用非对比性的sigmoid损失&#xff0c;能够更高效地进行图文预训练&#xff0c;本文进行…

信创企业级即时通讯:私有化安全沟通的新趋势

随着信息技术的不断发展&#xff0c;企业间的及时沟通和高效协作成为了推动业务创新和发展的关键。而信创企业作为信息创新的先驱者&#xff0c;对即时通讯工具的安全性和私有化能力提出了更高的要求。在这样的背景下&#xff0c;私有化安全沟通逐渐成为了信创企业级即时通讯的…

特殊类设计与单例模式

特殊类设计与单例模式 一、不能被拷贝的类1、介绍2、示例代码 二、只能在堆上创建对象的类1、介绍2、示例代码 三、只能在栈上创建对象的类1、介绍2、示例代码 四、单例模式1、介绍2、设计模式3、懒汉式&#xff08;1&#xff09;介绍&#xff08;2&#xff09;示例代码1&#…