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

news2024/11/20 7:05:42

目录

一、要求

二、思路

三、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 ]; then
    echo "数据已成功写入 data.txt"
else
    echo "获取数据失败"
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 微信名片”字样,就会出现我的二维码,欢迎沟通探讨


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

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

相关文章

DSP技术及应用——学习笔记一(量化效应)

文章图片内容主要来着老师的PPT&#xff0c;内容为自己总结梳理的学习笔记 二进制定点表示与量化误差 二进制定点表示 基础知识 二进制小数的定点表示 正数小数的定点表示&#xff1a; 思考题&#xff1a;推算字长为16的二进制最大正数与二进制正数 补码&#xff1a;正数不变&…

【AI相关】数学和统计学知识

数学和统计学的知识可以分为两部分&#xff1a; 一部分是线性代数中的基础概念&#xff0c;比如标量、向量和张量。 另一部分是概率统计中常见的分布类型&#xff0c;比如正态分布和伯努利分布。 线性代数 什么是标量&#xff1f; 标量是一个单独的数&#xff0c;可以是整…

matlab新手快速上手6(引力搜索算法)

本文根据一个较为简单的matlab引力搜索算法框架详细分析蚁群算法的实现过程&#xff0c;对matlab新手友好&#xff0c;源码在文末给出。 引力搜索算法简介&#xff1a; 引力搜索算法是一种启发式优化算法&#xff0c;最初于2009年由伊朗的Esmat Rashedi、Hossein Nezamabadi-p…

Vitis HLS 学习笔记--HLS入门示例集合-目录

目录 1. 示例集合概述 2. Interface 接口 2.1 Aggregation_Disaggregation 聚合与解聚 2.1.1 aggregation_of_m_axi_ports 2.1.2 aggregation_of_nested_structs 2.1.3 aggregation_of_struct 2.1.4 auto_disaggregation_of_struct 2.1.5 disaggregation_of_axis_port …

类与对象(二)

类的六个默认构造函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

2.6设计模式——Flyweight 享元模式(结构型)

意图 运用共享技术有效地支持大量细粒度的对象。 结构 其中 Flyweight描述一个接口&#xff0c;通过这个接口Flyweight可以接受并作用于外部状态。ConcreteFlyweight实现Flyweight接口&#xff0c;并作为内部状态&#xff08;如果有&#xff09;增加存储空间。ConcreteFlywe…

6547网新增信息素养大赛真题及白名单考级真题

打扰大家了&#xff0c;汇报一下最近的更新动态&#xff0c;如果大家有急切需要的白名单真题及试卷留言&#xff0c;我们会优先更新&#xff01; 6547网文库&#xff08;www.6547.cn/wenku&#xff09;&#xff1a;新增信息素养大赛图形化编程真题及Python真题&#xff0c;2024…

STM32单片机C语言模块化编程实战:LED控制详解与示例

一、开发环境 硬件&#xff1a;正点原子探索者 V3 STM32F407 开发板 单片机&#xff1a;STM32F407ZGT6 Keil版本&#xff1a;5.32 STM32CubeMX版本&#xff1a;6.9.2 STM32Cube MCU Packges版本&#xff1a;STM32F4 V1.27.1 之前介绍了很多关于点灯的方法&#xff0c;比如…

不要小看使用说明书,它才是提高成交率的秘诀

在产品推广和销售环节中&#xff0c;许多企业可能忽略了一个非常重要但常被低估的环节——使用说明书的作用。使用说明书&#xff0c;这本附随每件产品的“小书”&#xff0c;往往是用户了解和使用产品的第一步。事实上&#xff0c;一个清晰、详尽、易懂的使用说明书能够显著提…

Blueprints - 鼠标光标判断相关节点

一些以前的学习笔记归档&#xff1b; 俯视角场景中要用鼠标光标判断是否点中物体&#xff0c;或依靠光标引发各种事件&#xff1b; 这些逻辑一般编写在Controller中&#xff0c;Controller类本身就带有相关判断节点&#xff1a; 其中Get Hit Result Under Cursor by Channel是…

OpenFeign微服务调用组件!!!

1.Feign是什么 GitHub - OpenFeign/feign: Feign makes writing java http clients easierFeign makes writing java http clients easier. Contribute to OpenFeign/feign development by creating an account on GitHub.https://github.com/OpenFeign/feignFeign是Netflix开…

第十讲 操作符详解

第十讲 操作符详解 1 操作符的分类 算术操作符&#xff1a; 、- 、* 、/ 、%移位操作符: << >>位操作符: & | ^赋值操作符: 、 、 - 、 * 、 / 、% 、<< 、>> 、& 、| 、^单⽬操作符&#xff1a; &#xff01;、、–、&、*、、-、~ 、…

JavaScript:将input标签中的内容打印到控制台

使用浏览器进行开发时&#xff0c;按F12可以查看网页信息。 目标&#xff1a;实现将input标签中的内容&#xff0c;打印到控制台&#xff08;console&#xff09; HTML页面的关键代码实现&#xff1a; 登录功能&#xff1a; HTML代码&#xff1a; <div class"form-…

个人博客系统的设计与实现

https://download.csdn.net/download/liuhaikang/89222885http://点击下载源码和论文 本 科 毕 业 设 计&#xff08;论文&#xff09; 题 目&#xff1a;个人博客系统的设计与实现 专题题目&#xff1a; 本 科 毕 业 设 计&#xff08;论文&#xff09;任 务 书 题 …

ABTest如何计算最小样本量-工具篇

如果是比例类指标&#xff0c;有一个可以快速计算最小样本量的工具&#xff1a; https://www.evanmiller.org/ab-testing/sample-size.html 计算样本量有4个要输入的参数&#xff1a;①一类错误概率&#xff0c;②二类错误概率 &#xff08;一般是取固定取值&#xff09;&…

设计模式-01 设计模式简介之分类

设计模式-01 设计模式简介之分类 1.分类概述 今天梳理下设计模式的分类学说。按照GoF书籍 《Design Patterns - Elements of Reusable Object-Oriented Software》&#xff08;中文译名&#xff1a;《设计模式 - 可复用的面向对象软件元素》&#xff09; 中所提到的&#xff0c…

牛客NC209 最短无序连续子数组【中等 数组,双指针 C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/d17f4abd1d114617b51e951027be312e 思路 解题思路 1、方法1&#xff0c;排序对比&#xff1a;将数组按升序排序&#xff0c;然后与原数组对照&#xff0c;从哪里开始变化到哪里结束变化的数组就是答案。 2、 方…

初识 Express

目录 1. Express 简介 1.1. 什么是 Express 1.1.1. 概念 1.1.2. 通俗理解 1.1.3. Express 的本质 1.2. 进一步理解 Express 1.2.1. 问题引入1——不使用 Express 能否创建 Web 服务器&#xff1f; 1.2.2. 问题引入2——有了 http 内置模块&#xff0c;为什么还要用 Exp…

【算法刷题 | 贪心算法03】4.25(最大子数组和、买卖股票的最佳时机|| )

文章目录 4.最大子数组和4.1题目4.2解法一&#xff1a;暴力4.2.1暴力思路4.2.2代码实现 4.3解法二&#xff1a;贪心4.3.1贪心思路4.3.2代码实现 5.买卖股票的最佳时机||5.1题目5.2解法&#xff1a;贪心5.2.1贪心思路5.2.2代码实现 4.最大子数组和 4.1题目 给你一个整数数组 n…

【JavaScript】内置对象 ③ ( Math 内置对象 | Math 内置对象简介 | Math 内置对象的使用 )

文章目录 一、Math 内置对象1、Math 内置对象简介2、Math 内置对象的使用 二、代码示例1、代码示例 - Math 内置对象的使用2、代码示例 - 封装 Math 内置对象 一、Math 内置对象 1、Math 内置对象简介 JavaScript 中的 Math 内置对象 是一个 全局对象 , 该对象 提供了 常用的 数…