第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入门课程专栏

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

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

相关文章

第 128 场 LeetCode 双周赛题解

A 字符串的分数 模拟 class Solution {public:int scoreOfString(string s) {int res 0;for (int i 1; i < s.size(); i) res abs(s[i] - s[i - 1]);return res;} };B 覆盖所有点的最少矩形数目 排序&#xff1a;先按照 x i x_i xi​ 排序&#xff0c;然后顺序遍…

【C++庖丁解牛】底层为红黑树结构的关联式容器--哈希容器(unordered_map和unordered_set)

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1. unordered系列关联式容…

系统架构设计图

首先明确应用架构的定义&#xff0c;从百度百科上即可了解到何为应用架构&#xff1a; 应用架构&#xff08;Application Architecture&#xff09;是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次&#xff1a; 企业级的应用架构&#xff1a;企业层面的应…

arm工作模式、arm9通用寄存器、异常向量表中irq的异常向量、cpsr中的哪几位是用来设置工作模式以及r13,r14,15别名是什么?有什么作用?

ARM 首先先介绍一下ARM公司。 ARM成立于1990年11月&#xff0c;前身为Acorn计算机公司 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片 提供基于ARM架构的开发设计技术软件工具评估版调试工具应用软件总线架构外围设备单元等等CPU中…

【MySQL】MySQL在Centos 7环境安装

目录 准备工作 第一步&#xff1a;卸载不要的环境 第二步&#xff1a;下载官方的mysql 第三步 上传到Linux中 第四步 安装 正式安装 启动 ​编辑 登录 准备工作 第一步&#xff1a;卸载不要的环境 使用root进行安装 如果是普通用户&#xff0c;使用 su - 命令&#…

langchain RunableBranch 分类判断选择不同链

import os from dotenv import load_dotenv from langchain_community.llms import Tongyi load_dotenv(key.env) # 指定加载 env 文件 key os.getenv(DASHSCOPE_API_KEY) # 获得指定环境变量 DASHSCOPE_API_KEY os.environ["DASHSCOPE_API_KEY"] # 获得指定环境…

字符串转换为List<String>时候抛出异常:com.alibaba.fastjson2.JSONException: TODO : s

前言&#xff1a; 一个字符串想要能够转换为 List&#xff0c;其本身必须是具备 List 属性的字符串。 问题现象&#xff1a; 项目中需要对第三方接口返回的字符串转换为 List&#xff0c;就想到了使用 fastjson 来处理。 代码如下&#xff1a; Object obj data.get(SignC…

格式化D盘后C盘内的文件会受影响吗?深度解析

在计算机的日常使用中&#xff0c;磁盘格式化是一个常见的操作&#xff0c;它能帮助我们清除磁盘上的数据&#xff0c;为新的数据腾出空间。然而&#xff0c;当涉及到系统盘和其他存储盘时&#xff0c;许多用户会担心一个问题&#xff1a;如果我格式化了非系统盘&#xff0c;比…

蓝桥杯真题演练:2023B组c/c++

日期统计 小蓝现在有一个长度为 100 的数组&#xff0c;数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示&#xff1a; 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 …

连锁品牌企业为何不能使用通用收银系统?

在连锁服装品牌企业中&#xff0c;加盟连锁店往往选择使用特定的收银管理系统&#xff0c;而不是市面上通用的收银系统。这一选择背后有着几个主要原因&#xff1a; 首先&#xff0c;加盟连锁店的核心在于品牌的一致性和管理。采用统一的收银管理系统可以确保所有门店在运营和管…

2024连锁收银系统哪个好 有什么特点

在服装连锁店的经营中&#xff0c;选择一款优秀的收银系统至关重要。收银系统不仅仅是简单的结账工具&#xff0c;更是管理销售、库存和客户信息的关键平台。以下将介绍几款优秀的服装连锁店收银系统&#xff0c;以便您更好地了解各款系统的特点和优势。 1. 商淘云连锁店收银系…

【CSS】一篇文章讲清楚screen、window和html元素的位置:top、left、width、height

一个Web网页从内到外的顺序是&#xff1a; 元素div,ul,table... → 页面body → 浏览器window → 屏幕screen 分类详情屏幕screen srceen.width - 屏幕的宽度 screen.height - 屏幕的高度&#xff08;屏幕未缩放时&#xff0c;表示屏幕分辨率&#xff09; screen.availLeft …

中国绿色技术助力全球能源转型(国际论坛)

中国的清洁能源发展战略和实践对全球能源结构转型产生了深远影响。作为全球最大的可再生能源生产和消费国&#xff0c;中国在推动国内可再生能源产业发展的同时&#xff0c;也积极与世界各国分享技术和经验&#xff0c;促进全球范围内清洁能源技术的普及和应用成本的降低。例如…

C 408—《数据结构》易错考点200题(含解析)

目录 Δ前言 一、绪论 1.1 数据结构的基本概念 : 1.2 算法和算法评价 : 二、线性表 2.2 线性表的顺序表示 : 2.3 线性表的链式表示 : 三、栈、队列和数组 3.1 栈 3.2 队列 3.3 栈和队列的应用 3.4 数组和特殊矩阵 四、串 4.2 串的模式匹配 五、树与二叉树 5.1 树的基…

解决 Mac App Store 不显示可用更新的问题

相信不少人遇到过 Mac App Store 有更新提示&#xff0c;但进入应用商店的「更新」一栏不会显示可用更新的软件列表。只有进入对应软件详情页才会显示可更新。 解决方法是使用快捷键「⌘ R」来刷新页面。 Related Link: Troubleshooting App Store Issues

Docker 安装 RocketMQ

目录 一、新建两个配置文件 1.1 创建docker-compose.yml文件 1.2 .新建broker.conf文件 二、运行 三、可视化界面 一、新建两个配置文件 1.1 创建docker-compose.yml文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:servercontainer_name: rmqnamesrvports…

Gradle 实战 - 命令行传递-ApiHug准备-工具篇-013

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

人工智能科普:人工智能的分类

人工智能的分类多种多样&#xff0c;根据不同的标准和应用场景&#xff0c;可以将其划分为多个不同的类别。以下是对人工智能分类的详细探讨。 一、按应用领域分类 1. 智能机器人&#xff1a;智能机器人是人工智能技术在机器人领域的应用。它们能够根据环境和任务的不同进行自…

【论文速读】| 基于大语言模型的模糊测试技术

本次分享论文为&#xff1a;Large Language Models Based Fuzzing Techniques: A Survey 基本信息 原文作者&#xff1a;Linghan Huang, Peizhou Zhao, Huaming Chen, Lei Ma 作者单位&#xff1a;悉尼大学&#xff1b;东京大学&#xff1b;阿尔伯塔大学 关键词&#xff1a;…

DP算法的精髓是什么?

概述 DP(动态规划)通过将原问题拆分成一系列子问题&#xff0c;并通过对子问题求解。所以&#xff0c;也可以把DP算法定义为“多阶段决策最优解模型”&#xff08;决策树&#xff09; 同时该模型也具有以下明显特征&#xff1a; 问题的最优解包含子问题的最优解。反过来说的…