【数据采集】实验01-工作环境配置与基础编程

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 【数据采集】实验01-工作环境配置与基础编程

一、实验目的

  • 1、掌握相关软件的安装及配置。
  • 2、掌握常用IDE的启动、配置与管理。
  • 3、掌握基本程序的编写。

二、实验准备

  • 1、PyCharm
  • 2、Anaconda3
  • 3、Chrome
  • 4、MySQL8.0 Navicat
  • 5、Redis
  • 6、第三方包

三、实验内容及要求

1、Anaconda3下载及其环境配置

(1)程序下载

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

(2)安装并配置虚拟环境

conda create --name Crawler python=3.10

(3)Anaconda conda 切换为清华源

# 命令行中直接使用以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

2、PyCharm下载及其配置

(1)程序下载

https://www.jetbrains.com/pycharm/download/


(2)创建项目

https://www.cnblogs.com/yuxuefeng/articles/9235431.html


(3)使用虚拟环境Crawler的编译器

https://www.cnblogs.com/mengxiaoleng/p/11745897.html

(4)测试

print(“hello world!”)

3、安装Google Chrome

4、编码规范

5、安装包

conda install requests
conda install beautifulsoup4 lxml
conda install PyMySQL
conda install DBUtils
conda install redis

6、网页基本结构(熟悉常用的标签)

https://www.runoob.com/html/html-tutorial.html

7、mysql安装及连接测试

import pymysql
# 打开数据库连接         IP           USER    PASSWORD  DBNAME
#db = pymysql.connect("localhost", "root", "123456", "test")
db = pymysql.connect(host="localhost", user="root", password="123456", database="test")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print("Database version : %s " % data)
cursor.close()

# 关闭数据库连接
db.close()

8、mysql创建表并新增数据

8.1创建数据库表

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")


# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

cursor.close()
# 关闭数据库连接
db.close()

8.2 新增数据

import pymysql

# 打开数据库连接
db = pymysql.connect("localhost", "root", "123456", "test")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
    # 执行sql语句
    cursor.execute(sql)

    # 提交到数据库执行
    db.commit()
except:
    # 如果发生错误则回滚
    db.rollback()

# 关闭数据库连接
db.close()

9、安装redis并使用

redis的安装(msi),不用设置密码


https://blog.csdn.net/weixin_44893902/article/details/123087435


https://github.com/tporadowski/redis/releases/download/v5.0.14.1/Redis-x64-5.0.14.1.msi

import redis    # 导入redis 模块

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.StrictRedis(connection_pool=pool)
r.sadd('urls_page_new', 'url1')#待爬取页
r.sadd('urls_page_new', 'url2')
r.sadd('urls_page_new', 'url3')
r.sadd('urls_page_new', 'url4')
res = r.smembers('urls_page_new')
print(res)
#   元素个数
print(r.scard('urls_page_new'))
#   随机删除:spop key
#print(r.spop('urls_page_new'))  # 打印删除的值
s = r.spop('urls_page_new')
res = r.smembers('urls_page_new')
print(res)
r.sadd('urls_page_old', s)#已经爬取页
res = r.smembers('urls_page_old')
print(res)
#查找某个元素在不在
print(r.sismember('urls_page_new','url1'))

#   查看所有的key:keys *
print(r.keys())
r.delete('urls_page_new')
r.delete('urls_page_old')
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
网络协议 应用服务中间件 Linux
Linux网络综合基础实验
Linux网络综合基础实验
77 0
|
1月前
|
编译器 开发工具 C语言
配置C++的学习环境
这篇教程介绍了学习C++语言所需的环境配置和软件选择。首先,你需要一个文本编辑器(如Visual Studio Code、Visual Studio、Vim、Emacs或Eclipse)和一个C++编译器(如GCC)。在不同操作系统上安装GCC的方法包括:在Linux或UNIX上使用命令行检查或安装GCC,在Mac OS X上通过Apple的Xcode,而在Windows上则需要安装MinGW。教程还提供了使用Visual Studio创建和编译C++程序的步骤。最后,文章简述了g++编译器的使用及其常用命令选项。
29 0
|
1月前
|
存储 安全 API
构建安全可靠的系统:第一章到第五章
构建安全可靠的系统:第一章到第五章
189 0
|
28天前
|
监控 Unix Shell
实验模拟搭建 elfk 日志分析系统
实验模拟搭建 elfk 日志分析系统
|
1月前
|
Web App开发 存储 前端开发
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
99 1
|
1月前
构建安全可靠的系统:第六章到第十章
构建安全可靠的系统:第六章到第十章
184 0
|
1月前
|
存储 Shell 对象存储
Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
58 0
|
算法 安全 测试技术
嵌入式软件测试笔记2 |TEmb方法概述
嵌入式软件测试笔记2 |TEmb方法概述
110 0
|
canal BI API
搭建项目环境(准备工作) | 学习笔记
快速学习搭建项目环境(准备工作)
89 0
搭建项目环境(准备工作) | 学习笔记
|
弹性计算 安全 数据挖掘
实验环境介绍|学习笔记
快速学习实验环境介绍
263 0
实验环境介绍|学习笔记