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

目录

​编辑

数据持久化(非数据库)

第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.rhkb.cn/news/188913.html

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

相关文章

PowerPoint to HTML5 SDK Crack

Convert PowerPoint to HTML5 Retaining Animations, Transitions, Hyperlinks, Smartart, Triggers and other multimedia effects World’s first and industry best technology for building web/mobile based interactive presentations directly from PowerPoint – that …

2.0 熟悉CheatEngine修改器

Cheat Engine 一般简称为CE,它是一款功能强大的开源内存修改工具,其主要功能包括、内存扫描、十六进制编辑器、动态调试功能于一体,且该工具自身附带了脚本工具,可以用它很方便的生成自己的脚本窗体,CE工具可以帮助用户…

ARM 基础学习记录 / 异常与GIC介绍

GIC概念 念课本(以下内容都是针对"通用中断控制器(GIC)"而言,直接摘录的,有的地方可能不符人类的理解方式): 通用中断控制器(GIC)架构提供了严格的规范&…

Python文件、文件夹操作汇总

目录 一、概览 二、文件操作 2.1 文件的打开、关闭 2.2 文件级操作 2.3 文件内容的操作 三、文件夹操作 四、常用技巧 五、常见使用场景 5.1 查找指定类型文件 5.2 查找指定名称的文件 5.3 查找指定名称的文件夹 5.4 指定路径查找包含指定内容的文件 一、概览 ​在…

Spring Boot(二)

1、运行维护 1.1、打包程序 SpringBoot程序是基于Maven创建的,在Maven中提供有打包的指令,叫做package。本操作可以在Idea环境下执行。 mvn package 打包后会产生一个与工程名类似的jar文件,其名称是由模块名版本号.jar组成的。 1.2、程序…

YOLO目标检测——猫狗目标检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:宠物识别、猫狗分类数据集说明:猫狗分类检测数据集,真实场景的高质量图片数据,数据场景丰富,含有猫和狗图片标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xm…

[量化投资-学习笔记009]Python+TDengine从零开始搭建量化分析平台-KDJ

技术分析有点像烹饪,收盘价、最值、成交量等是食材;均值,移动平均,方差等是烹饪方法。随意组合一下就是一个技术指标。 KDJ又称随机指标(随机这个名字起的很好)。KDJ的计算依据是最高价、最低价和收盘价。…

微信小程序隐私政策不合规,应当由用户自主阅读后自行选择是否同意隐私政策协议,不得默认强制用户同意

小程序隐私政策不合规,默认自动同意《用户服务协议》及《隐私政策》,应当由用户自主阅读后自行选择是否同意隐私政策协议,不得默认强制用户同意,请整改后再重新提交。 把 登录代表同意《用户协议》和《隐私政策》 改为 同意《用…

git基础知识

1.git的必要配置 所有的配置文件,其实都保存在本地! 查看所有配置 git config -l 即把 系统配置(system)和当前用户(global)配置都 列出来 以直接编辑配置文件,通过命令设置后会响应到这里。 注意: 如果…

DevOps简介

DevOps简介 1、DevOps的起源2、什么是DevOps3、DevOps的发展现状4、DevOps与虚拟化、容器 1、DevOps的起源 上个世纪40年代,世界上第一台计算机诞生。计算机离不开程序(Program)驱动,而负责编写程序的人,被称为程序员&…

【数据结构】:红黑树

1、红黑树的简介 红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。 红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来…

【已验证-直接用】微信小程序wx.request请求服务器json数据并渲染到页面

微信小程序的数据总不能写死吧,肯定是要结合数据库来做数据更新,而小程序数据主要是json数据格式,所以我们可以利用php操作数据库,把数据以json格式数据输出即可。 现在给大家讲一下微信小程序的wx.request请求服务器获取数据的用…

【MySQL】列属性

文章目录 CHAR和VARCHAR插入单行 INSERT INTO插入多行插入分层行 LAST_INSERT_IN()创建表复制 CREAT TABLE AS更新单行 UPDATE...SET更新多行在UPDATES中使用子查询【需着重复习】删除行 DELETE恢复数据库到原始状态 CHAR和VARCHAR CHAR(50):存储文本占5个字符&…

计算机网络基础知识-网络协议

一:计算机网络层次划分 1. 网络层次划分 2. OSI七层网络模型 1)物理层(Physical Layer):及硬件设备,物理层确保原始的数据可在各种物理媒体上传输,常见的设备名称如中继器(Repeater,也叫放大器)和集线器; 2)数据链路层(Data Link Layer):数据链路层在物理层提…

【入门Flink】- 09Flink水位线Watermark

在窗口的处理过程中,基于数据的时间戳,自定义一个“逻辑时钟”。这个时钟的时间不会自动流逝;它的时间进展,就是靠着新到数据的时间戳来推动的。 什么是水位线 用来衡量事件时间进展的标记,就被称作“水位线”&#x…

css:两个行内块元素和图片垂直居中对齐

目录 两个行内块元素垂直居中对齐图片垂直居中问题图片和文字垂直居中对齐参考文章 两个行内块元素垂直居中对齐 先看一段代码&#xff1a; <style> .box {width: 200px;height: 200px;line-height: 200px;font-size: 20px;text-align: center;display: inline-block;b…

Xilinx FPGA平台DDR3设计详解(一):DDR SDRAM系统框架

DDR SDRAM&#xff08;双倍速率同步动态随机存储器&#xff09;是一种内存技术&#xff0c;它可以在时钟信号的上升沿和下降沿都传输数据&#xff0c;从而提高数据传输的速率。DDR SDRAM已经发展了多代&#xff0c;包括DDR、DDR2、DDR3、DDR4和DDR5&#xff0c;每一代都有不同的…

搭建Docker

一、概念 云服务器大家肯定不陌生了&#xff0c;相比较传统物理服务器来说他的价格&#xff0c;个性化的配置服务&#xff0c;节省了很多的运维成本&#xff0c;越来越多的企业以及个人开发者更加的青睐于云服务器。有了属于自己的服务器就可以部署搭建自己个人网站了&#xf…

Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别

专栏集锦&#xff0c;大佬们可以收藏以备不时之需 Spring Cloud实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏&#xff1a;https:/…

openEuler编译安装nmon性能监控工具及可视化分析工具

ln 介绍 nmon&#xff08;short for Nigel’s Monitor&#xff09;是一个性能分析工具&#xff0c;由蓝色巨人IBM开发&#xff0c;最早用于自家操作系统UNIX&#xff0c;AIX &#xff08;Advanced Interactive eXecutive&#xff09;。现在也能用在Linux上。它可以显示系统的…