目录
编辑
数据长期化(非数据库)
第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_src
- img = 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_src
- img = 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_time
- print(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 pymysql
- import 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()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |