第6章 6.4.1 案例一:爬取亚洲各地区的实时时间(MATLAB入门课程)

2024-04-14 11:04

本文主要是介绍第6章 6.4.1 案例一:爬取亚洲各地区的实时时间(MATLAB入门课程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


本案例将引导大家爬取亚洲各地区的实时时间。我们将从下面这个网站中获取数据:现在亚洲时间_亚洲时间表_亚洲时间与北京时间_亚洲时区天气网时差频道(time.tianqi.com)为您提供亚洲时间表,可进行亚洲时间在线查询与换算和亚洲时间与北京时间对比,更有按亚洲时区划分的亚洲城市时间查询。icon-default.png?t=N7T8https://time.tianqi.com/asia_shijian

首先,请大家在自己的电脑上打开浏览器,并输入上述网址访问该网站。网站打开后,我们会看到亚洲各个地区的实时时间。

接下来,为了更好地帮助大家理解爬虫的流程,我们需要查看网页的源代码。这可以通过在浏览器的当前网站中点击鼠标右键,然后选择“查看网页源代码”来实现(请注意,本书示例使用的是谷歌Chrome浏览器,不同的浏览器可能在功能名称上略有差异)。

当你打开网页源代码后,会看到一大堆由HTML标签组成的代码。这些代码定义了网页的结构和内容。我们的目标是从中找到与我们需要的实时时间数据相关的部分。

一种有效的方法是在源代码中搜索我们想要提取的数据的关键词(快捷键Ctrl+F),比如“阿联酋”。这样就能快速定位到我们所需的数据在源码中的位置。

接下来,我们可以将整个网页源代码视为一个文本,并从这个文本中提取出我们感兴趣的数据,即各地区的名称和对应的实时时间。提取数据的方法有多种,既可以使用之前学过的文本处理函数,也可以使用本章介绍的正则表达式。通常情况下,网页源码中的数据在结构上具有一定的规律性,这时使用正则表达式进行提取通常会更加高效和方便。

在之前未掌握爬虫技术时,我们需要手动查看网页源代码,将其复制粘贴到文本文件中,或者将整个网页保存为HTML文件,然后再使用fileread函数将源码读取到MATLAB中。这样的操作繁琐且耗时,且对于本题而言爬取的时间也失去了实时性。

然而,现在我们将利用MATLAB的webread函数,直接获取网页的源代码。这一自动化的过程不仅省去了手动保存的繁琐步骤,更大大提高了数据获取的效率。

webread函数是MATLAB中用于获取网页内容的函数。在使用之前,我们可以通过weboptions函数来明确指出网页的字符编码,这样能避免在某些网站中可能出现的字符乱码问题。接下来,我们将展示如何使用这两个函数来获取指定网址的网页源代码。

有同学可能会有疑惑,为什么要指定这个网页的文本编码为utf-8而不是gbk。这里告诉大家一个小技巧:大家可以在网页源码中搜索charset这个关键词,通常会找到类似下面的代码(注意:这个技巧适用于绝大多数的网站): 


  点击下方的CSDN专栏阅读下一篇文章:

MATLAB入门课程专栏

这篇关于第6章 6.4.1 案例一:爬取亚洲各地区的实时时间(MATLAB入门课程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C++学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数? void swap(int& x, int& y){int tmp = x;x = y;y = tmp;} 相信大家很快就能写出上面这段代码,但是如果要求这个交换函数支持字符型

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

20170723 做的事 ecdsa的签名验证时间短于bls signature

1 今天在虚拟机 /home/smile/Desktop/20170610/Test//time_ecdsa 文件夹下,找到ecdsa的验证时间是 989.060606μs μs 先 make ,然后run。 再取BLS的签名生成时间: ./run  2  gnuplot 画图,画对比的时间 gnuplot 画图参考教程 http://blog.sciencen

LVGL快速入门笔记

目录 一、基础知识 1. 基础对象(lv_obj) 2. 基础对象的大小(size) 3. 基础对象的位置(position) 3.1 直接设置方式 3.2 参照父对象对齐 3.3 获取位置 4. 基础对象的盒子模型(border-box) 5. 基础对象的样式(styles) 5.1 样式的状态和部分 5.1.1 对象可以处于以下状态States的组合: 5.1.2 对象