头歌答案--数据持久化(非数据库)

news/2025/2/21 2:42:01/

目录

​编辑

数据持久化(非数据库)

第1关:数据持久化(非数据库)

任务描述

多线程、多进程爬虫 

第1关:多线程、多进程爬虫

任务描述

Scrapy爬虫基础

任务描述

MySQL数据库编程

第1关:python数据库编程之创建数据库

任务描述

第2关:python数据库编程之创建数据表

任务描述

第3关:python数据库编程之插入数据

任务描述

第4关:python数据库编程之查询数据

任务描述

第5关:python数据库编程之修改数据

任务描述

第6关:python数据库编程之删除数据

任务描述


 

数据持久化(非数据库)

第1关:数据持久化(非数据库)

任务描述

本关任务:将网页上的图片数据持久化(保存)。

import os
import requests
from bs4 import BeautifulSoup
from lxml import etree
url = 'http://127.0.0.1:8080/imgs/'
headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Mobile Safari/537.36'
}
response = requests.get(url, headers=headers)
#********** Begin **********#
# 解析网页
html = etree.HTML(response.text)
img_srcs = html.xpath("//div[@class='box']/div/a/img/@src")
for img_src in img_srcs:name = img_src.split('/')[-1].split('.')[0]
# 请求图片地址img_url = "http://127.0.0.1:8080" + img_srcimg = requests.get(img_url)
# 判断保存图片的文件夹是否存在dir_path = 'step1/images'if not os.path.exists(dir_path):os.makedirs(dir_path)img_path = dir_path + '/' + name + '.jpg'  # 图片的最终存储路径
# 保存图片with open(img_path, 'wb')as file:file.write(img.content)#********** End **********#

多线程、多进程爬虫 

第1关:多线程、多进程爬虫

任务描述

本关任务:使用多线程将网页上的图片数据下载并保存。

import requests
from lxml import etree
import time
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
from multiprocessing import Pool
import os
import threading
import psutil
# URL伪装
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
}
def downimg(img_src):start_time = time.time()name = img_src.split('/')[-1].split('.')[0]img_url = "http://127.0.0.1:8080" + img_srcimg = requests.get(img_url)dir_path = 'step1/images'if not os.path.exists(dir_path):os.makedirs(dir_path)img_path = dir_path + '/' + name + '.jpg'  # 图片的最终存储路径print(img_url, name + '.jpg', '开始下载。。。')thread = threading.currentThread()process = psutil.Process(os.getpid())print("线程ID:%s, 进程ID:%s"% (thread.ident, process.pid))#********** Begin *********#"""保存图片"""with open(img_path, 'wb')as file:file.write(img.content)#********** End *********#finisTime = time.time() - start_timeprint(name + ".jpg 用时为:" + str(finisTime) + " second")
def parsePage():url = "http://127.0.0.1:8080/imgs/"response = requests.get(url=url, headers=header)html_content = response.text#********** Begin *********#"""解析网页"""html = etree.HTML(html_content)item_list = html.xpath("//div[@class='box']/div/a/img/@src")print(item_list)s_time = time.time()#********** End *********#"""非线程操作"""# for item in item_list:#     downimg(item)#********** Begin *********#"""线程操作方式"""thread = []for item in item_list:thread.append(threading.Thread(target=downimg, args=(item, )))for t in thread:t.start()for t in thread:t.join()#********** End *********#print('总耗时: %s' % (time.time() - s_time))

Scrapy爬虫基础

第1关:Scarpy安装与项目创建

任务描述

本关任务:借助Scrapy框架编写一个最基本的爬虫小程序,掌握Scrapy的基础理论和使用。

scrapy startproject HelloWorld
cd HelloWorld
scrapy genspider world www.baidu.com

MySQL数据库编程

第1关:python数据库编程之创建数据库

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 创建数据库。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysqlimport mysql.connector# 连接mysql,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #conn = mysql.connector.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名(若不选此参数则不指定具体数据库连接,我们可以使用use database来选择其它数据库)# db='db_name',# 用户密码passwd='123123',# 编码格式# charset='utf8')# 使用cursor()函数创建一个游标对象# cursor = conn.cursor()return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute("CREATE DATABASE  my_db")# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()

第2关:python数据库编程之创建数据表

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 创建数据表。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* ## 创建数据库连接conn = pymysql.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名db='my_db',# 用户密码passwd='123123',# 编码格式charset='utf8')return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute('''CREATE TABLE user(id   INT(16) AUTO_INCREMENT PRIMARY KEY,username VARCHAR(32) NOT NULL,password varchar(32))ENGINE = MyISAM''')# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()

第3关:python数据库编程之插入数据

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 插入数据。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* ## 创建数据库连接conn = pymysql.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名db='my_db',# 用户密码passwd='123123',# 编码格式charset='utf8')return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute("insert into user (username, password) values('teble', 'teble')")# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()

第4关:python数据库编程之查询数据

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 从数据库中查询数据。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* ## 创建数据库连接conn = pymysql.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名db='my_db',# 用户密码passwd='123123',# 编码格式charset='utf8')return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute("select id, username, password from user ORDER BY id DESC")for data in cursor.fetchall():print(data)# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()

第5关:python数据库编程之修改数据

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 从数据库中修改数据。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* ## 创建数据库连接conn = pymysql.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名db='my_db',# 用户密码passwd='123123',# 编码格式charset='utf8')return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute("update user set username = 'root',password='root' where id = '1'")# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()

第6关:python数据库编程之删除数据

任务描述

在现在的软件、web 开发中,越来越离不开数据库的支持,MySQL 是现在最流行的关系型数据库管理系统(RDBMS - Relational Database Management System),在 WEB 开发中,MySQL 是最好的 RDBMS 应用软件之一。在本教程中,会让大家快速掌握 python 使用 MySQL 的相关知识,并轻松使用 MySQL 数据库。

本关任务:使用 pymysql 从数据库中删除数据。

#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 连接mysql,连接数据库my_db,创建连接并返回连接对象def connect():# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* ## 创建数据库连接conn = pymysql.connect(# mysql服务器主机地址host='127.0.0.1',# mysql服务器连接端口port=3306,# 用户名user='root',# 数据库名db='my_db',# 用户密码passwd='123123',# 编码格式charset='utf8')return conn# *********  End  ********* #def test():# 创建连接,并且返回连接对象conn = connect()# 创建游标对象cursor = conn.cursor()# 请在这里补充代码,完成本关任务,注意缩进格式为4个空格# ********* Begin ********* #cursor.execute("delete from user where id = '2'")# *********  End  ********* ## 关闭游标cursor.close()# 关闭连接conn.close()


http://www.ppmy.cn/news/1214963.html

相关文章

火山引擎云原生存储加速实践

在火山引擎相关的业务中绝大部分的机器学习和数据湖的算力都运行在云原生 K8s 平台上。云原生架构下存算分离和弹性伸缩的计算场景,极大的推动了存储加速这个领域的发展,目前业界也衍生出了多种存储加速服务。但是面对计算和客户场景的多样性&#xff0c…

C#医学检验室(LIS)信息管理系统源码

LIS:实验室信息管理系统 (Laboratory Information Management System简称:LIS)。 LIS 是面向医院检验科、检验中心、动物实验所、生物医疗研究所等科研单位研发的集数据采集、传输、存储、分析、处理、发布等功能于一体的信息管理系统。 一、完善的质控: 从样本管理…

Mac常用软件安装

brew安装 brew 是从下载源码解压然后 ./configure && make install ,同时会包含相关依存库。并自动配置好各种环境变量,而且易于卸载。 这个对程序员来说简直是福音,简单的指令,就能快速安装和升级本地的各种开发环境。 …

ARM课程发送一个字符,接收一个字符

fun.c #include "my_typ_head.h"//初始化 void uart_init() {//1.使能GPIOB/GPIOG/UART4时钟 RCC_MP_AHB4ENSETR/RCC_MP_APB1ENSETR//设置GPIOB\GPIOG控制器时钟使能 0X50000A28(*(unsigned int *)0X50000A28) | (0X10);(*(unsigned int *)0X50000A28) | (0X1<…

Matlab运算相关函数总结

matlab作为一项计算语言&#xff0c;无疑是由很多实用的运算函数可供调用的&#xff0c;学会这些函数&#xff0c;对于我们进行程序编写能节省时间、精简代码、减少出错概率。 一、取整 1.round() 四舍五入取整 2、ceil() 向上取整&#xff0c;ceil是天花板的意思 x 3.1…

智慧工地源码:助力数字建造、智慧建造、安全建造、绿色建造

智慧工地围绕建设过程管理&#xff0c;建设项目与智能生产、科学管理建设项目信息生态系统集成在一起&#xff0c;该数据在虚拟现实环境中&#xff0c;将物联网收集的工程信息用于数据挖掘和分析&#xff0c;提供过程趋势预测和专家计划&#xff0c;实现工程建设的智能化管理&a…

4.0 Linux进程前导知识

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 冯.诺依曼体系 CPU&#xff1a;运算器&#xff0c;控制器 输入设备&#xff1a;键盘&#xff0c;麦克风&#xff0c;摄像头&#xff0c;鼠标&#xff0c;网卡&#xff0c;磁盘等。 输出设备&#xff1a;显示器&#xff0…

本地化小程序运营 同城小程序开发

时空的限制让本地化的线上平台成为一种追求&#xff0c;58及某团正式深挖人们城镇化、本地化的信息和商业需求而崛起的平台&#xff0c;将二者结合成本地化小程序&#xff0c;显然有着巨大的市场机会。本地化小程序运营可以结合本地化生活需求的一些信息&#xff0c;以及激发商…