python项目练习-1

获取无忧书城的小说内容!

import requests  # 导入请求包
from lxml import etree  # 导入处理xml数据包url = 'https://www.51shucheng.net/wangluo/douluodalu/21750.html'
book_num = 1  # 文章页数
download_urls = []  # 定义一个空列表,表示我们下载过小说的url!while True:# UA头headers = {'User-Agent=': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'}resp = requests.get(url, headers=headers)  # 使用get方式请求数据!resp.encoding = 'utf-8'  # 将请求的数据编码为 utf-8的格式e = etree.HTML(resp.text)  # 使用etree模块处理数据,并赋值给e对象!data = ''.join(e.xpath('string(//div[@class="neirong"]/p)'))  # 使用xpath插件获取我需要的标签内容!title = e.xpath('//h1/text()')[0]  # 获取文章的标题if url in download_urls:print(f"跳过重复下载的章节: {title}")else:filename = f'output/斗罗大陆-第{book_num}章.txt'with open(filename, mode='w', encoding='utf-8') as file:file.write(title + "\n" + data)book_num += 1download_urls.append(url)  # 将已经下载章节的url添加到列表中!next_url = e.xpath('//div[@class="next"]/a/@href')[0]  # 使用xpath插件获取下一章节url在html标签内的位置!if not next_url:breakurl = next_url

不会用xpath的话,看下边!

比如我要获取每章节的标题在xml数据中的位置,请看如下图~

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DSNeRF复现流程

创建虚拟环境安装依赖 conda create -n DSNeRF python3.7pip install -r requirements.txt下载LLFF数据放在创建的data文件下 https://drive.google.com/file/d/1RjhfcbsywOvw0ts1AFSri91mKANvEVOa/view?uspsharing 下载预先训练好的模型 bash download_models.sh渲染视频…

C++笔试强训day7

目录 1.字符串中找出连续最长的数字串 2.岛屿数量 3.拼三角 1.字符串中找出连续最长的数字串 链接 我的思路很简洁,就是双指针遍历,然后不断更新左位置left和右位置right和长度len。 然后我写代码的时候代码思路没跟上原本思路,直接把所有…

【产品经理修炼之道】- 需求挖掘之手机话费充值

画原型图从来就不是面试考察的重点,分析、解决问题才是产品经理的核心能力。那么该如何积累产品经验呢?本文以以「手机话费充值」为案例,分享整个设计流程和思路,希望对你有所启发。 不少产品新人有个误区:产品经理的日…

【Linux】进程间通信(共享内存、消息队列、信号量)

一、System V —— 共享内存(详解) 共享内存区是最快的 IPC 形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说,就是进程不再通过执行进入内核的系统调用来传递彼此的数…

Gitflow实操以及代码审查Pull Request操作

1.背景 之前一直有用过gitflow,但是一直没有归纳技术,另一方面也是每个团队用到的gitflow都不一致。而最近做项目要用gitflow,趁此机会分享一下gitflow的操作。 2.gitflow介绍 用git一直有一个问题,就是怎么保证代码稳定性&…

电容随频率变化测量数据

Y电容随频率变化测量数据,使用LCR仪器分别对15nf,330nf和22nf进行测量,具体数据如下

AI预测福彩3D第9套算法实战化测试第4弹2024年4月26日第4次测试

今天继续进行新算法的测试,今天是第4次测试。好了,废话不多说了,直接上图上结果。 2024年4月26日福彩3D预测结果 6码定位方案如下: 百位:4、5、7、8、3、9 十位:6、9、5、4、1、2 个位:7、8、5、…

2024怎么选开放式耳机?亲测这六点才能选出好耳机!

相信很多跟我一样喜欢跑步的人手上都有不少专门的运动耳机,想一步到位选到合适的款实在太难了! 前前后后我也入手了不少,光是最近这几年很火的骨传导耳机都有五六个,但用下来整体体验都很一般——挂脖式骨传导耳机带久了脑袋后面…

鞋业ERP订货管理系统软件:提高订单处理效率的关键

顺通凉鞋ERP订货系统软件作为一款高效的订单处理工具,能够满足企业的需求,助力企业实现业务目标。顺通凉鞋ERP订货系统软件采用先进的自动化流程管理技术,将订单处理过程中的各个环节进行整合和优化。顺通凉鞋ERP订货系统软件具备强大的智能数…

服务器如何开启远程连接?

服务器开启远程连接是网络管理中一项重要的功能。通过远程连接,用户可以在任何地方远程访问服务器,从而进行管理、维护和监控等操作。远程连接的开启可以为工作提供便利性和效率,但同时也带来了安全风险。确保远程连接的安全性和可靠性是至关…

harbor私仓搭建及其他服务器如何使用私仓详解

目录 主机规划1.harbor安装(harbor服务器)1.harbor介绍2.为harbor生成自签发证书(可选)3.安装Harbor4.Harbor使用 2.宿主机docker安装(server服务器)1. 设置主机名2. 安装需要的软件包3. 设置yum源4. 查看docker版本5. 安装Docker…

ThingsBoard处理设备上报的属性并转换为可读属性

一、前言 二、案例 1、AI生成JSON数据体 2、将json数据体直接通过遥测topic发送查看效果 3、可查看目前整个数据都在一起 ​编辑 4、配置附规则链路 5、对msg的消息值,进行数据的转换,并从新进行赋值。 6、规则链路关联关系 7、再次通过MQTT发送遥…