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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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')
目录
相关文章
|
16天前
|
Ubuntu Linux 网络安全
Linux装软件神器:yum 超详细入门指南
在Linux中安装软件有三种常用方法:源码安装、rpm包安装和yum包管理器安装。其中,**yum**(或Ubuntu的apt)最为便捷,类似于手机应用商店,能自动解决依赖问题,适合新手使用。本文详细介绍了yum的工作原理、软件源配置、常用命令及生态系统的意义,帮助用户快速上手Linux软件安装与管理。
 Linux装软件神器:yum 超详细入门指南
|
存储 缓存 Python
如何使用Python抓取PDF文件并自动下载到本地
如何使用Python抓取PDF文件并自动下载到本地
1032 0
|
9月前
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
1637 82
高效搭建Nacos:实现微服务的服务注册与配置中心
|
11月前
|
机器学习/深度学习 数据采集 存储
智能废水处理与监测的深度学习模型
智能废水处理与监测的深度学习模型
164 7
智能废水处理与监测的深度学习模型
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
795 0
|
机器学习/深度学习 存储 自然语言处理
基于知识库快速搭建智能客服问答 Bot
在数字化转型的大潮中,智能客服系统成为提升企业客户体验与运营效率的关键工具。Botnow平台集成智能体创作与分发功能,提供一站式智能客服问答Bot搭建服务。本文详细介绍了如何利用Botnow的知识库功能及RAG(Retrieve-Augmented Generation)方案快速构建智能客服问答Bot。通过Botnow平台,用户可以轻松创建知识库、配置智能体,并关联知识库以实现智能回答。该方案广泛适用于对话沟通、行业知识库建设、企业内部信息检索及内容创作等多个场景。Botnow平台以其可视化编排、低技术门槛等特点,助力企业轻松实现智能客服系统的搭建与优化,成为数字化转型的重要推手。
826 1
|
前端开发 iOS开发 MacOS
vscode自动跟随Mac或window系统系统切换主题色-白天用亮色主题、晚上用暗黑主题
vscode自动跟随Mac或window系统系统切换主题色-白天用亮色主题、晚上用暗黑主题
990 0
|
算法
数据结构和算法学习记录——二叉搜索树的插入操作、删除操作
数据结构和算法学习记录——二叉搜索树的插入操作、删除操作
150 0
|
API
QT学习—属于自己的串口调试助手
本文详细介绍了如何编写一个属于自己的串口助手。
1655 3
|
数据采集 数据可视化 数据挖掘
转录组数据分析 RNA-seq(二)
转录组数据分析 RNA-seq
961 0
转录组数据分析 RNA-seq(二)