第6章:6.4.2 案例二:爬取成语网站数据 (MATLAB入门课程)

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

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


本案例用到的网址为:成语大全列表成语大全列表icon-default.png?t=N7T8https://chengyu.bmcx.com/e1zdh_1__chengyulist/

请大家在电脑浏览器中打开上方的网址:

请使用鼠标滚轮将网站下滑滚动到页面底部,可以看到该网站设置了分页功能:

我们可以分别点击第2页和第3页,可以看到新打开的网页地址变为了

https://chengyu.bmcx.com/e1zdh_2__chengyulist/

https://chengyu.bmcx.com/e1zdh_3__chengyulist/.

因此,我们发现了这个网址的规律:https://chengyu.bmcx.com/e1zdh_k__chengyulist/,这里的k就表示第k页。通过循环语句,我们能够获取每一个网页的源码,并将每一页的成语提取出来保存到同一个字符串数组中。

现在我们先以第一页的网址为例,获取相应的源码并提取对应的成语。

接下来,我们需要在网页的源码中定位成语的位置。这一步需要仔细分析网页的结构,并设计出合适的正则表达式来匹配成语。

通过观察成语在源码中的位置,我们可以设计下面的正则表达式来提取出所有的成语:

以上是获取第一个网页的成语数据的代码。接下来,我们使用循环语句获取前5个网页的成语数据。

小技巧:对于批量爬取多个网页,建议使用try-catch语句来捕获潜在的错误以确保程序的稳健性。我们只需要将其添加到循环体内,当某次循环出现错误时,会产生警告信息。


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

MATLAB入门课程专栏

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NUC11更新 ESXi 8.0U2B 安装过程

1、下载 镜像名称:VMware-VMvisor-Installer-8.0U2b-23305546.x86_64.iso下载地址:https://docs.vmware.com/tw/VMware-vSphere/8.0/rn/vmware-vsphere-80-release-notes/index.html 2、制作镜像启动盘 2、查看镜像版本信息 3、启动设备安装系统 1、启…

web3项目自动连接小狐狸以及小狐狸中的各种“地址”详解

刚做web3的时候,比较迷糊的就是人们口中说的各种地址,小狐狸钱包地址,私钥地址,跳转地址,接口地址,交易地址,等等XX地址,常常感觉跟做链的同事们说话不在一个频道。 这一小节&#x…

【C Hash Map from Redis】

将Redis源码中的哈希表底层逻辑提取,并进行最小demo级测试将对应文件抽出,通过宏替换等方式保证源码编译通过main.c编写测试demo ,注册哈希函数和值比较函数(必选项) /* Hash Tables Implementation.** This file imp…

二、Flask会话技术和模板语言

Cookie Session # views.py: 路由 视图函数 import datetimefrom flask import Blueprint, render_template, request, redirect, session from .models import *# 蓝图 blue Blueprint(user, __name__)# 首页 可以写两个路由,都是访问同一个函数 blue.route(/) b…

java数据结构与算法刷题-----LeetCode371. 两整数之和

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 位运算 位运算 解题思路:时间复杂度O( l o g 2 m a …

自顶向下的语法分析器

一、问题及解决: 什么是Dictionary File? 这种类型的文件为Windows虚拟PC 2007,虚拟机,它允许一些版本的Windows在一台计算机上运行生成。它包括像发音和单词的定义以及各种语言,如德国和法国的辞典数据。 如何实现语…

2024/4/15 AD/DA

AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号 AD/DA转换打开了计算…

代码学习记录42---动态规划

随想录日记part42 t i m e : time: time: 2024.04.14 主要内容:今天开始要学习动态规划的相关知识了,今天的内容主要涉及:最长递增子序列 ;最长连续递增序列 ;最长重复子数组 ;最长公…

5G网络开通与调测ipv4

要求如下: 1. 勘站规划 1. 【重】首先观察NR频点,完成设备选型 2645--选择N41 3455--选择N78 4725--选择N79 设备选型如下:观察AAU的通道数,最大发射功率;选择N41的选型频段也要选41 2. …

算法:位运算

算法&#xff1a;位运算 常见位运算操作基本题型模拟加法数字查找总结 常见位运算操作 在C/C中&#xff0c;有比较丰富的位运算操作符&#xff0c;常见的有&#xff1a; &&#xff1a;按位与 |&#xff1a;按位或 ~&#xff1a;按位取反 ^&#xff1a;按位异或 <<&a…

stm32开发之threadx+modulex组合开发使用记录

前言 参考博客 论坛官方资料: 微软开发板核心芯片使用的是stm32f407zgtx&#xff0c;烧录工具使用的是jlink模块的构建使用的是脚本进行构建网上针对modulex的资料较少&#xff0c;这里做个记录 项目结构 逻辑框架 主程序代码 主函数 /** Copyright (c) 2024-2024&#xff0…

ansible创建用户账户和更新ansible库的密钥

1.创建⽤户帐户 从 http://materials/user_list.yml 下载要创建的⽤户的列表&#xff0c;并将它保存到 /home/greg/ansible 在本次考试中使⽤在其他位置创建的密码库 /home/greg/ansible/locker.yml 。创建名为 /home/greg/ansible/users.yml 的 playbook &#xff0c;从⽽…

空指针与野指针的辨析

空指针 空指针不指向任何实际的对象或者函数&#xff0c;反过来&#xff0c;任何的对象或者函数也不可能是空指针。 在程序中得到空指针的办法就是使用预定义的NULL&#xff0c; int *ip NULL; 校验一个指针是否为空指针可以用 if (ip NULL) NULL是标准规定的宏定义&am…

使用spring-ai快速对接ChatGpt

什么是spring-ai Spring AI 是一个与 Spring 生态系统紧密集成的项目&#xff0c;旨在简化在基于 Spring 的应用程序中使用人工智能&#xff08;AI&#xff09;技术的过程。 简化集成&#xff1a;Spring AI 为开发者提供了方便的工具和接口&#xff0c;使得在 Spring 应用中集…

Unity类银河恶魔城学习记录12-13 p135 Merge Skill Tree with Dogge skill源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili​​​​​​​ Inventory.cs using System.Collections.Generic; using Un…

链表-双指针-虚拟节点-力扣

链表--双指针--虚拟节点 力扣 142 环形链表求循环起点 重点力扣 21 合并两个有序链表力扣 86 分割链表力扣23 合并K个有序链表 -- 优先队列&#xff08;二叉堆 小顶堆&#xff09;重点力扣19 找倒数第N个元素 快慢指针 一次遍历 重点力扣876 快慢指针找中间节点力扣 160 相交链…

28、链表-两数相加

思路&#xff1a; 有几个方面需要考虑 双指针遍历&#xff0c;如果出现和大于10那么向前进1如果长度不一样那么长的部分直接落下并且考虑进1 的问题 代码如下&#xff1a; class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {if (l1null||l2null){…

网络编程【InetAddress , TCP 、UDP 、HTTP 案例】

day38上 网络编程 InetAddress 理解&#xff1a;表示主机类 一个域名 对应 多个IP地址 public static void main(String[] args) throws UnknownHostException {//获取本机的IP地址 // InetAddress localHost InetAddress.getLocalHost(); // System.out.println(localHos…

前端标记语言HTML

HTML&#xff08;HyperText Markup Language&#xff09;是一种用于创建网页的标准标记语言。它是构建和设计网页及应用的基础&#xff0c;通过定义各种元素和属性&#xff0c;HTML使得开发者能够组织和格式化文本、图像、链接等内容。 HTML的基本结构 文档类型声明&#xff0…

终端工具命令行颜色配置(解决终端工具连上服务器之后,无颜色问题)

本期主题&#xff1a; 讲解使用mobaxterm等终端工具连上服务器&#xff0c;但是命令行没有颜色的问题 目录 1. 问题描述2. 原因解释3.测试 1. 问题描述 使用终端工具&#xff08;Mobaxterm等&#xff09;连上服务器之后&#xff0c;发现终端工具没有颜色&#xff0c;如下图&am…