【python】python抓取古诗文内容保存(源码)【独一无二】

news2024/10/6 14:01:10

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


【python】python抓取古诗文内容保存(源码)【独一无二】


目录

  • 【python】python抓取古诗文内容保存(源码)【独一无二】
  • 一、设计目的
  • 二、代码分析


一、设计目的

使用Python语言,抓取古诗文网 古诗内容:

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈

抓取内容如下:

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈


二、代码分析

爬取古诗文网站上许渊冲的诗文,并将其标题、作者、地点和内容写入到一个名为 “poem20.txt” 的文本文件中。具体分析如下:

  1. 引入所需的模块:

    • requests:用于发送 HTTP 请求。

    • etree:lxml 库的一部分,用于解析 HTML 文档。

      # 请求头如下
      header = {
      	"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" 
      }
      
  2. 循环爬取数据:

    • 使用 for 循环迭代 1 到 5,以获取多个页面的数据。
    • 构建每个页面的 URL,其中作者参数是许渊冲。
    • 使用 requests.get() 方法发送 GET 请求,获取页面的 HTML 内容。
  3. 解析 HTML 内容:

    • 使用 etree.HTML() 方法将 HTML 内容解析为 Element 对象。

      👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈

  4. 提取诗文信息:

    • 使用 XPath 表达式从页面中提取标题、作者、地点和内容。
    • 通过循环,逐个提取每篇诗文的信息。
  5. 写入文本文件:

    • 将提取的标题、作者、地点和内容写入到名为 “poem20.txt” 的文本文件中。

    • 使用 with open() 语句打开文件,以追加模式(‘a+’)写入内容。

    • 将标题、作者和地点写入一行,将内容写入下一行,以便在文件中呈现清晰。

      with open('poem20.txt', 'a+', encoding='utf-8') as f:
        f.write(title + '\n')
        f.write(author + palce)
        f.write(text)
        f.write('\n')
      
  6. 异常处理:

    • 在各个可能出现异常的代码块中添加了 try-except 语句,以处理可能的异常情况。

爬取结果如下:
在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 古诗文 ” 获取。👈👈👈

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

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

相关文章

下载了恶意软件怎么办,用这个软件可以解决 Mac电脑卸载软件 MacBook查杀病毒

随着苹果电脑在全球市场的普及,它们也日益成为恶意软件制作者的目标。这种趋势打破了许多人认为Mac系统不易受到病毒或恶意软件影响的传统观念。事实上,苹果电脑面临的恶意软件和安全威胁正在不断增多,这要求用户采取更加积极的措施来保护自己…

activiti初次学习

源代码地址:https://gitee.com/ZSXYX/activiti.git​ 1、安装插件 首先安装下图所示activiti,不确定是哪个插件有用的,有时间可排除下 在resources下创建一个文件夹:processes,右键,新建 生成: 选中act.bpmn20.xm…

TCHouse-C

一.概括 1.地域(Region) 地域(Region)指腾讯云数据仓库 TCHouse-C 物理服务器所在的地理区域。腾讯云不同地域之间网络完全隔离,购买后不能更换。(地域一旦选定,购买后无法更改。)…

L3 【哈工大_操作系统】操作系统启动

本节要点: 1、理解 OS 启动过程发生了什么,理解 OS 与 硬件 与 应用 之间的关系 2、本节讲解了 setup 模块 和 system 模块实现的功能 1、计算机上电时,操作系统在硬盘(磁盘)上,为了“取指执行”&#xff0…

IO流基本流

目录 什么是IO流 IO流的体系 字节流 FileOutputStream FileInputStream 字符集 字符流 FileReader FileWriter 字节流和字符流的使用场景 什么是IO流 内存不能永久化存储,程序停止,数据丢失,所以要添加一个存档功能,存储到硬盘的文件,我们要知道文件在哪里和如何传…

Jmeter配置服务器监控插件

1.安装插件管理器 插件官网地址:JMeter Plugins :: JMeter-Plugins.org 点击 Plugins Manager,如上图所示, ,点击jar file下载“plugins-manager.jar”,下载后放到“jmeter\lib\ext”目录下,重启jmeter。 2.安装资源…

静电场中的导体与介质

静电场可能分布于填充了各种媒质的区域。虽然媒质宏观上保持电中性,但其内部的各种微观带电系统不可避免地会与静电场相互作用。 一般而言,媒质可分为三类:导体、介质(绝缘体)和半导体。在静电场中半导体特性与导体类似,因此仅就…

C# Window form 自定义控件的结构和设计(三)

C# Window form 自定义控件的结构和设计(三) 一、前面介绍了如何来创建第一个自定义的控件,以及一个测试程序。下面我们来看下如何在自定义控件中添加属性。 C#和其他.NET语言支持属性作为语言的第一类成员。把属性作为语言的基础属性有两点主要的有点&#xff1a…

Node.js 并发控制

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使得 JavaScript 可以脱离浏览器在服务器端运行。由于 Node.js 采用单线程异步非阻塞 I/O 模型,它的并发处理能力也是非常强大的。本文将详细介绍 Node.js 的并发原理、概念、图解、解决方案…

洛谷-P2089 烤鸡

P2089 烤鸡 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N30; //const int M1e3*310; const int Mpow(3,10); int n; int arr[N]; //存临时方案 int res; //存方案数 int ans[M][N]; //存所有方案//x表示当前到…

k8s:kubectl 命令设置简写启用自动补全功能

k8s&#xff1a;kubectl 命令设置简写&启用自动补全功能 1、设置kubectl命令简写2、启用kubectl自动补全功能 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; Kubernetes&#xff08;K8s&#xff09;是一个强大的容器编排平台&#xff0…

LangChain安装

安装步骤 1 安装Python环境 这里不介绍Python环境的配置&#xff0c;默认大家是已经安装并配置好Python运行环境的。 2 安装LangChain bash 复制代码 pip install langchain执行以上命令安装LangChain会默认安装LangChain的最新版本 3 测试安装结果 3.1 打印langchain版本…

如何获得easyrecovery软件密钥?2024最新学习步骤教程

如何获得easy recovery密钥&#xff1f;EasyRecovery是一款老牌的数据恢复软件&#xff0c;如果需要使用它来恢复数据&#xff0c;则需要购买密钥激活。然而&#xff0c;如果您只需要使用它一两次而不想花钱购买密钥&#xff0c;那么您可以使用免费的EasyRecovery密钥。请注意&…

贝乐虎儿歌v6.8.0解锁高级版亲子学习儿歌

软件介绍 贝乐虎儿歌免费版app&#xff0c;出自乐擎网络的创意工坊&#xff0c;专为孩子们雕琢了一系列富含创意的动画儿歌内容。这款app通过贝乐虎兄弟的可爱形象&#xff0c;让孩子们在愉快的观看中接触到各种儿歌和故事。不仅如此&#xff0c;app还巧妙地将古诗、英语等学习…

Java代码基础算法练习-求奇数和-2024.04.14

任务描述&#xff1a; 输入n个整数&#xff08;n从键盘输入&#xff0c;n>0&#xff0c;整数取值范围&#xff1a;0~1000&#xff09;&#xff0c;输出它们的奇数和。 任务要求&#xff1a; 代码示例&#xff1a; package April_2024;import java.util.Scanner;// 输入n个…

【Leetcode】1702. 修改后的最大二进制字符串

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个二进制字符串 b i n a r y binary binary &#xff0c;它仅有 0 0 0 或者 1 1 1 组成。你可以使用下面的操作任意次对它进行修改&#xff1a; 操作 1 &#xff1a;如果…

Nacos 入门篇---服务端如何处理客户端的服务注册请求?(三)

一、引言 ok呀&#xff0c;上个章节我们讲了Nacos客户端的服务自动注册&#xff0c;今天我们来看看服务端接收到了客户端的服务注册请求&#xff0c;服务端都做了哪些事情&#xff5e; 二、目录 目录 一、引言 二、目录 三、回顾上节内容&#xff1a; 四、Nacos 服务代码入…

Linux 网络排查命令

端口相关服务检查 netstat -ntpl|grep [$Port]说明&#xff1a;[$Port]为相应的端口号。 0.0.0.0代表本机上可用的任意地址。比如&#xff0c;0.0.0.0:80表示本机上所有地址的80端口。 tcp 0.0.0.0:80表示在所有的可用接口上监听TCP的80端口 如果返回结果为空&#xff0c;说明…

Java 入门教程||Java 关键字

Java 关键字 Java教程 - Java关键字 Java中的关键字完整列表 关键词是其含义由编程语言定义的词。 Java关键字和保留字&#xff1a; abstract class extends implements null strictfp true assert const false import package super try …

奥尔波特、卡特尔、大五人格的特质流派,预测你是内向还是外向

了解特质&#xff0c;可以预测人的行为&#xff0c;可以预测你的性格是内向还是外向。 特质论并不把人格分为绝对的类型&#xff0c;通常认为存在一些特质维度。人们之间的差异&#xff0c;就在于这些维度上表现程度的不同所形成的不同特质构型。 特质&#xff08;trait&…