爬取汉字五行元素,并存入数据库

2023-11-08 23:10

本文主要是介绍爬取汉字五行元素,并存入数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

爬取汉字五行元素,并存入数据库

源码我放在了最后(嘿嘿),希望对你有用

1 实验目的

实现数据标题收集并可视化

2 实验任务

爬取汉字五行元素并选择角度实现可视化:
我选择的主题:可视化爬取数据中,字的笔画分布,用饼图可视化

3 实验环境

Python3.7+Anaconda3(spyder)

4 实验步骤

  1. 安装pyecharts库等可视化时需要的库

  2. 分析网页

  3. 通过分析网页结构标签,爬取每个字单独的网页网址,如图1,以及分析如何定位汉字模块,如图2
    在这里插入图片描述 图1
    图2
    图2

  4. 编写爬取网址的爬虫代码,在此只爬取一个元素的部分汉字的网址,如果想爬取每个元素的所有汉字,以一样的方式,收集网址,原理一样,收集网址代码如图3,循环网址爬取汉字如图4:
    在这里插入图片描述

图3
在这里插入图片描述

图4
5. 运行代码,结果如图5 数据库结果如图6
在这里插入图片描述

图5
在这里插入图片描述

图6
6. 将数据导出为csv文件,sql文件,(自己擅长的格式),方便后面的数据分析,如图7
在这里插入图片描述

图7
7. 编写可视化代码,在此我使用饼图角度如图8
在这里插入图片描述

图8
8. 将程序文件和数据文件放到一个文件夹下,如图9
在这里插入图片描述

图9
9. 运行代码,生成结果,如图10,11
在这里插入图片描述

图10
在这里插入图片描述

图11
10 源码
爬虫源码:

from bs4 import BeautifulSoup
from bs4 import UnicodeDammit
import urllib.request
import sqlite3
import requests
import timeclass HanziDB:def openDB(self):self.con=sqlite3.connect("hanzi.db")self.cursor=self.con.cursor()try:self.cursor.execute('''create table hanzi (name varchar(16),read varchar(16),number varchar(16),bu varchar(16),wu varchar(16),time varchar(24),primary key (name))'''

这篇关于爬取汉字五行元素,并存入数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa