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

目录

​编辑

数据持久化(非数据库)

第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.hqwc.cn/news/176697.html

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

相关文章

全球数字市场竞争:跨境电商的战略优势

在数字化时代,跨境电商已经成为全球贸易的主要引擎。不同国家和地区的企业积极参与,试图在全球市场中寻求竞争优势。 每个国家都有其独特的数字市场战略,以满足国际消费者的需求并实现全球扩张。本文将深入探讨各国在跨境电商领域的竞争优势…

VS Code打造Rust的开发环境

文章目录 rust-analyzerCodeLLDB Rust据说是一门永远也不会发生内存错误的语言,并且因其反人类的学习曲线,而长期占据编程鄙视链的最顶端。而且就连微软都准备把Windows挪到Rust上面,可见其受欢迎程度。 rust-analyzer 在插件栏中直接搜索r…

toLocaleString()将数字格式化为带有千分位分隔符的字符串‘1,234,567‘

1、toLocaleString():将数字格式化为带有千分位分隔符的字符串 2、使用 toLocaleString() 将数字转为百分比 var a 1; console.log(a.toLocaleString(zh,{style:percent})) var b 10; console.log(b.toLocaleString(zh,{style:percent})) var c 2; console.log(…

ChatGPT 如何改变科研之路

《Nature》全球博士后调查[1]中约有三分之一的受访者正在使用人工智能聊天机器人来帮助完善文本、生成或编辑代码、整理其领域的文献等等。 来自巴西的 Rafael Bretas 在日本生活了十多年,日语说得很好。书面日语的各个方面,例如严格的礼貌等级制度&…

HarmonyOS应用开发者高级认证(88分答案)

看好选择题,每个2分多答对2个刚好88分,祝你顺利。 其它帮扶选择题。 一、判断 只要使用端云一体化的云端资源就需要支付费用(错)所有使用Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期…

【数据结构 | 链表】leetcode 2. 两数相加

个人主页:兜里游客棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里游客棉花糖 原创 收录于专栏【LeetCode】 原题链接:点击直接跳转到该题目 目录 题目描述解题代码 题目描述 给你两个 非空 的链表,表示两个非…

Git 修改历史 commit message

一. 修改最新的 commit log 修改最近一次commit message, 直接使用命令 git commit --amend 就可以完成修改二. 修改历史 commit log 查看日志(按 q 退出) git log --oneline # 查看5步的log。 git log --oneline -5选择要修改的commit 信息 # 要修改的 commit log…

内衣洗衣机和手洗哪个干净?小型洗衣机全自动

随着内衣洗衣机的流行,很多小伙伴在纠结该不该入手一款内衣洗衣机,专门来洗一些贴身衣物,答案是非常有必要的,因为我们现在市面上的大型洗衣机只能做清洁,无法对我们的贴身衣物进行一个高强度的清洁,而小小…

绿茵场上洒汗水,激情飞扬现活力——碧桂园社区足球课堂开课啦

“伙伴计划”是由共青团中央发起实施,中央专项彩票公益金提供支持,面向社区青少年开展的一项示范性服务项目。实施这个项目的主要目的是针对青少年在成长过程中遇到的实际困难和普遍性需求,开展“团团活力圈”青少年身心健康提升服务&#xf…

私有云边界网络部署实践

业务背景 在私有云的业务场景中,常见的通信中包含了同VPC内虚机互访、不同VPC之间的虚机互访、VPC访问Underlay资源、VPC访问Internet资源、VPC提供服务,被Internet访问、VPC与专线网络之间互访等;实际应用中,大多数云业务通信场…

会议邀请 | 思腾合力邀您共赴第二十五届高交会(CHTF2023)

2023年11月15-19日,以“激发创新活力 提升发展质量”为主题的「第二十五届中国国际高新技术成果交易会(CHTF2023)」将在深圳会展中心(福田)和深圳国际会展中心(宝安)举办。思腾合力作为行业领先…