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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【数据采集】实验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网络综合基础实验
75 0
|
28天前
|
编译器 开发工具 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
|
24天前
|
监控 Unix Shell
实验模拟搭建 elfk 日志分析系统
实验模拟搭建 elfk 日志分析系统
|
1月前
|
Web App开发 存储 前端开发
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
Python 自动化指南(繁琐工作自动化)第二版:十二、网络爬取
91 1
|
1月前
|
存储 Shell 对象存储
Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像
58 0
|
1月前
|
前端开发 Java jenkins
Java开发中的工作流程和步骤
Java开发中的工作流程和步骤
|
9月前
|
人工智能 运维 监控
在日常开发工作中,日志数据该如何利用?
在日常开发工作中,日志数据是一个宝贵的资源,它可以提供关于应用程序运行状态、错误报告、性能指标和用户行为等方面的重要信息。正确地利用和分析日志数据可以帮助开发人员更好地理解应用程序的运行情况,快速定位和解决问题,改进应用程序的性能,并为业务决策提供有力支持。尤其是在现代科技发展的背景下,日志数据作为一种重要的信息资源,对于运维工作具有极大的价值。然而,如何充分利用日志数据,并将其应用于运维和开发工作中,仍然是许多企业和运维和开发人员关注的问题。那么本文就来分享一下在日常开发中关于日志数据的利用方面的探讨。
149 1
在日常开发工作中,日志数据该如何利用?
|
机器学习/深度学习 数据采集 人工智能
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
本文讲解如何使用whylogs工具库,构建详细的AI日志平台,并监控机器学习模型的流程与效果。核心操作包括:环境配置、新建项目并获取ID、获取组织ID和访问Key、将配置文件写入WhyLabs、监控模型性能指标。
870 2
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
|
canal BI API
搭建项目环境(准备工作) | 学习笔记
快速学习搭建项目环境(准备工作)
89 0
搭建项目环境(准备工作) | 学习笔记
|
弹性计算 安全 数据挖掘
实验环境介绍|学习笔记
快速学习实验环境介绍
263 0
实验环境介绍|学习笔记