Linux的自动化脚本:使用crul命令的从某个网站获取数据(从url获取数据),并将其写入一个文件中

本文主要是介绍Linux的自动化脚本:使用crul命令的从某个网站获取数据(从url获取数据),并将其写入一个文件中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、要求

二、思路

三、shell脚本实现演练

(一)脚本实现

(二)脚本代码说明

(三)脚本执行

(四)数据内容


一、要求

       Linux的一个进程需要获取一个网站上的最新数据,根据这些数据,更新自己的网页的一部分内容。如何让linux自动获取网站更新的数据呢?

        使用http的request等指令,可能需要很多语句,也比较复杂。那么,如何选择?采用哪种方式比较便捷呢?

二、思路

        curl linux的一个强大的命令行工具,用于与服务器进行通信,通常用于发送或接收数据。它支持多种协议,如 HTTPHTTPSFTP 等,并且提供了大量的选项来定制请求和响应。在 Linux 中,curl 经常被用于脚本中以自动化网络相关的任务。

        curl的“-s”选项,用于静默模式或称为安静模式。当使用此选项时,curl 不会在屏幕上显示进度信息或错误消息。它只会输出实际请求的内容。

        因此我们可以采用这个方法,把获取到网站的内容写入到一个文件中,然后给其他进程来使用。

三、shell脚本实现演练

(一)脚本实现

        如下展示如何使用在bash脚本中,使用curl命令,从某个 URL 获取数据,并将其写入一个文件中。

        假设我们有一个脚本 `get_url_data.sh`,内容如下:

#!/bin/bash
# 指定要获取数据的 URL
URL="http://baoyang.com.cn/data"# 使用 curl 获取数据,并将输出写入文件中
curl -s "$URL" > data.txt# 检查数据是否成功写入文件
if [ $? -eq 0 ]; thenecho "数据已成功写入 data.txt"
elseecho "获取数据失败"
fi
# 脚本结束

(二)脚本代码说明

1、功能部分

        (1). 定义了一个变量 `URL`,它包含了我们要获取数据的 URL。

        (2). 用 `curl` 命令和 `-s` 选项(静默模式,不输出错误信息)来获取指定 URL 的数据。

        (3). 使用 `>` 符号将 `curl` 的输出重定向到文件 `data.txt` 中。

2、执行结果判断

        (1). 使用 `if` 语句和 `$?` 变量来检查 `curl` 命令的退出状态。如果退出状态为 0,表示命令成功执行;否则,表示执行失败。

        (2). 根据执行结果输出成功或者失败的信息提示。

3、其他说明

         这个脚本可以在 Linux 环境中运行,当你想要定期获取某个网站的数据或者在自动化任务中使用时非常有用。你可以根据需要修改 URL 和文件名。

(三)脚本执行

        要运行上述脚本,需要赋予它执行权限,然后可以通过命令行执行它:

chmod +x get_url_data.sh

./get_url_data.sh

        这将运行脚本,并按照脚本的设计输出相应的消息,并将数据写入 `data.txt` 文件。

(四)数据内容

        通过cat命令,可以看出,能够获取到对应的数据,如下图示:

        把data.txt的所有内容(html的源代码)列出来,如下所示:

[root@localhost quinn]# cat data.txt
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1, minimum-scale=1,user-scalable=no" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black" /><meta name="format-detection" content="telephone=no" /><title>技术资料-苏州邦耀电子科技有限公司</title><meta name="Keywords" content="苏州邦耀电子科技有限公司" /><meta name="Description" content="苏州邦耀电子科技有限公司" /><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"><link href="/public/static/home/css/css.css" rel="stylesheet" type="text/css" /><link href="/public/static/home/css/pages.css" rel="stylesheet" type="text/css" /><link href="/public/static/home/css/reset.css" rel="stylesheet" type="text/css" /><link href="/public/static/home/css/style.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="/public/static/home/js/jquery.js"></script><script type="text/javascript" src="/public/static/home/js/web.js"></script><script type="text/javascript" src="/public/static/home/js/jquery-1.4.2.min.js"></script><script type="text/javascript" src="/public/static/home/js/scroll.js"></script><script type="text/javascript" src="/public/static/home/js/hyt_menu.js"></script><link rel="shortcut icon" href="/favicon.ico" />
</head><body><div class="header"><div class="header_center"><div class="logo fl"><a href="/"><img src="/public/static/home/picture/logo.jpg" class="fl"></a><p>专业从事无线通讯设备销售<br />提供恰如所需的服务及通信解决方案</p></div><div class="header_r fr"><p class="top_links" style="text-align:right; margin-top:10px;"><a href="/service.html">技术资料</a> | <a href="/qa.html">常见问题</a> | <a href="/contact.html">联系我们</a></p><p class="top_tel" style="text-align:right; margin-top:20px;"><img src="/public/static/home/images/tel.png"></p></div><div class="clear"></div></div><div class="nav" id="mynav"><ul class="clearfixed"><li><a href="/" class="">首页</a></li><li><a href="/about.html" class="">关于我们</a></li><li><a href="/news.html" class="">新闻中心</a></li><li><a href="/products.html" class="">产品展示</a></li><li><a href="/cases.html" class="">成功案例</a></li><li><a href="/hr.html" class="">人才招聘</a></li><li><a href="/service.html" class="cur">客户服务</a></li><li><a href="/store.html" class="">购买方式</a></li></ul></div></div>
<style>
#newlist li {border-bottom: dashed 1px #ccc;text-indent: 20px;line-height: 35px;background: url(/public/static/home/images/icon.jpg) 5px 14px no-repeat;
}#newlist li span {float: right;padding: 0 10px 0 0;display: inline
}
</style>
<div style="width:980px; margin:0 auto; height:200px;"><img src="/public/static/home/images/banner_fuwu.jpg"></div>
<div class="container"><div class="pages_content"><div class="pages_bar fl"><div class="pages_menu"><div class="title">客户服务</div><ul><li class="cur"><a href="/service.html">技术资料</a></li><li class=""><a href="/qa.html">常见问题</a></li></ul></div><div class="pags_contact m10"><div class="title">联系我们</div><div class="info"><p><img title="联系我们" src="/public/static/home/picture/14080036633180.png" alt=""></p><p style="line-height:42px;"><strong>苏州邦耀电子科技有限公司</strong></p><p><img src="/public/static/home/images/coni2.jpg" width="16" alt=""><a href="/store.html">门店联系方式</a></p><p><img src="/public/static/home/images/coni1.jpg" width="15" alt=""><a href="/contact.html">公司联系方式</a></p><p>网址:<span class="blue">http://www.szbydz.cn/</span></p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; www.bangyao.com.cn</p></div>
</div></div><div class="pages_main fr"><h2 class="pages_title"><div class="posi fr"><span>当前位置:</span> <a href="/">首页</a>&gt;&gt;<a href="/service.html">客户服务</a> &gt;&gt; <a href="/service.html" target="_self" class="cur">技术资料</a></div><span class="tit">技术资料</span></h2><div class="cont_text" style="padding:0 12px; margin-top:20px;line-height: 30px; font-size:14px;"><ul id="newlist"><li><span>2019-01-24</span> <a href="/service/12.html">为什么要选择数字对讲机?</a></li><li><span>2019-01-24</span> <a href="/service/11.html">美军标及国际防护标准简介</a></li><li><span>2016-04-25</span> <a href="/service/10.html">什么叫数字对讲机、数字对讲机的特点及优势</a></li><li><span>2016-04-25</span> <a href="/service/9.html">如何正确使用电池</a></li><li><span>2016-04-25</span> <a href="/service/7.html">普通消费者如何购买对讲机</a></li><li><span>2016-04-25</span> <a href="/service/8.html">海能达对讲机电池日常使用及存放保养说明</a></li><li><span>2016-04-22</span> <a href="/service/6.html">功分器、合路器、分路器的介绍</a></li><li><span>2016-04-22</span> <a href="/service/4.html">防爆对讲机比较</a></li><li><span>2016-04-22</span> <a href="/service/5.html">对讲机日常保养及使用注意事项</a></li><li><span>2016-04-22</span> <a href="/service/3.html">对讲机莫当手机使用</a></li><li><span>2016-04-22</span> <a href="/service/2.html">车载天线和基地台天线的选购知识</a></li><li><span>2016-04-22</span> <a href="/service/1.html">DMR技术白皮书</a></li></ul><div class="clear"></div><div class="pages" align="center"></div></div></div><div class="clear"></div></div>
</div>
<div id="fooding"><div class="w980"><div class="fooding_lb"><ul><p><a href="/about.html">关于我们</a></p><li><a href="/about.html">公司简介</a></li><li><a href="/culture.html">企业文化</a></li><li><a href="/honor.html">资质荣誉</a></li><li><a href="/idea.html">企业愿景</a></li><li><a href="/adv.html">我们的优势</a></li></ul><ul><p><a href="/news.html">新闻中心</a></p><li><a href="/news.html">邦耀咨询</a></li></ul><ul><p><a href="/products.html">产品展示</a></p><li><a href="/products.html?classid=21">对讲机产品</a></li><li><a href="/products.html?classid=22">车载对讲机</a></li><li><a href="/products.html?classid=23">中继台</a></li><li><a href="/products.html?classid=24">通讯配件</a></li></ul><ul><p><a href="/service.html">客户服务</a></p><li><a href="/service.html">技术资料</a></li><li><a href="/qa.html">常见问题</a></li></ul><ul><p><a href="/store.html">购买方式</a></p><li><a href="/store.html">联系门店</a></li><li><a href="/contact.html">联系公司</a></li><li><a href="/message.html">在线留言</a></li></ul><ul style=" width:120px;"><p><a href="">微信公众号</a></p><li style="padding-top:5px;"><img src="/public/static/home/images/er.jpg" style="width:117px; height:117px;" /></li></ul><div style="clear:both"></div></div><div style="clear:both"></div></div>
</div>
<!--顶上-->
<div class="footer"><div style="clear:both"></div><div class="fooxia"><div class="w980" style=""><div class="fooxia_2" style="padding-top:25px;"><a href="/">网站首页</a>&nbsp;<a href="/about.html">关于我们</a>&nbsp;<a href="/news.html">新闻中心</a>&nbsp;<a href="/products.html">产品展示</a>&nbsp;<a href="/cases.html">成功案例</a>&nbsp;<a href="/hr.html">人才招聘</a>&nbsp;<a href="/service.html">客户服务</a>&nbsp;<a href="/store.html">购买方式</a>&nbsp;</div><div class="fooxia_2">友情链接&nbsp;<a href="http://www.hytera.com.cn">海能达</a>&nbsp;</div><div class="fooxia_3"><p>地址:江苏省苏州市姑苏区南园北路118号 &nbsp;联系电话:0512-65106078&nbsp;联系人:王经理&nbsp;手机:15995615713</p><p style="padding-top:10px;">©  2024 苏州邦耀电子科技有限公司 <a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">苏ICP备16015847号-1</a>&nbsp;<a href="https://beian.mps.gov.cn/#/query/webSearch" target="_blank"><img src="/uploads/system/20240422/add01486cf3f0cb0b3634e1e5e964ec2.png" style="display:inline-block; height:20px">苏公网安备32050802011816号</a>&nbsp;技术支持:汇成传媒</p></div></div></div>
</div>
</body>
[root@localhost quinn]#

显然,可以获取到我们需要的内容。

要求能够得到实现!


若想了解更多,文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨


这篇关于Linux的自动化脚本:使用crul命令的从某个网站获取数据(从url获取数据),并将其写入一个文件中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936421

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳