Python网络爬虫实战——实验8:Python爬虫项目部署与kafka消息队实战

【实验内容】

本实验主要介绍关于在Linux云环境下部署和运行爬虫项目并使用kafka发送消息队列。

【实验目的】

1、学会在云环境中部署爬虫项目

2、掌握Kafka消息队列的基本使用

3、实现爬虫与消息队列的集成

【实验步骤】

步骤1 在Linux上部署爬虫项目

步骤2 Kafka消息队列的基本使用

步骤3 在python中向kafka推送消息

步骤1:在云环境中部署爬虫项目

(1) 使用pycharm部署爬虫项目

在pycharm中点击如上图所示的Configuration

-*******************************************************************************

-********************************************************************************

点击上图所示按钮进入云服务器的配置。

-***************************************************************************

输入域名、用户名、地址后点击Test Connection测试连接

-**********************************************************************************

连接成功后,点击Mappings配置路径映射,local path 表示window 上爬虫项目的路径,Deployment path 是Linux服务器上项目存放的路径。

-***************************************************************************************

右击项目根目录,选择将整个项目上传至你所连接的服务器。如下图所示

-*********************************************************************************

(2) 数据库迁移


使用navicat将本地数据库转存为sql文件,保存结构和数据。然后连接上我们的linux服务器,运行sql文件(如下图所示)即可完成数据表和数据内容的迁移。

-*********************************************************************

(3) python虚拟环境
(4) 项目运行

Python manage.py runserver

后台运行 nohup python manage.py runserver 2>&1 &

/============================================================
=========================================================================================================================
/
2>&1: /============================================================
=========================================================================================================================
/

-&: /===================================================================
==================
/

-**********************************************************************************

项目运行成功如上图所示,当到达定时点时候,就会开始自动运行脚本程序进行数据采集。
步骤2 Kafka消息队列的基本使用

Kafka 是一个分布式流处理平台,通常被用于构建实时数据管道和流应用程序。它提供了高吞吐量、容错性和可伸缩性的特性。

复制代码
创建一个主题(Topic):在 Kafka 中,数据被组织成主题。主题是消息的分类,生产者将消息发送到主题,而消费者从主题订阅消息。
/*=============================================================================================================================================================*/
/*==============================================================================================================================================================*/
/*===============================================================================================================================================================================*/
消息的序列化和反序列化:默认情况下,Kafka 接收和发送的消息是字节数组。在实际应用中,你需要使用序列化器将消息转换为特定的格式。常见的选择包括 JSON、Avro 等。在生产者和消费者配置中,你可以指定相应的序列化和反序列化器。
Kafka 集群:在生产环境中,通常会运行多个 Kafka 服务器组成集群,以提高容错性和可伸缩性。确保生产者和消费者配置中指定了所有 Kafka 服务器的地址。

-***************************************************************************

步骤3 在python中向kafka推送消息

(1) 安装包

pip install confluent_kafka

(2) 发送消息

-****************************************************************************

-**********************************************************************

根据环境变量 'django_env' 的值选择 Kafka 服务器地址,如果 'django_env' 的值为'production',则使用 192.168.0.151:9092否则,使用 192.168.0.228:9092

/============================================================
=========================================================================================================================
/

-***************************************************************************

在数据采集时候,通过调用send_kafka_message方法,向yunnan_zhong这个主题推送消息

-*********************************************************************************

在服务器上可以接收到上图所示的消息示例。

相关推荐
迪霸LZTXDY5 分钟前
U-NET模型训练--图像标注脚本工具
开发语言·python
码界筑梦坊5 分钟前
119-基于Python的各类企业排行数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
习明然6 分钟前
记录下解决Python在windows 2008 Server 无法启动
开发语言·windows·python
duke8692672147 分钟前
C# 文件上传的服务器端加密 C#如何在存储到S3或Azure Blob时启用加密
jvm·数据库·python
SOC罗三炮11 分钟前
Hermes Agent v0.14.0:不用装 WSL 了,Windows 原生支持来了(Early Beta)
python
用户789377339085312 分钟前
前端转后端生存指南(中):化身架构师,用 ORM 魔法掌控数据库
后端·python
深邃-14 分钟前
【Web安全】-BurpSutie实战讲解(2):BP代理模块,BP重放模块,BP爆破模块,BP爬虫功能,BP解码模块,BP对比模块
爬虫·计算机网络·安全·web安全·网络安全·burpsutie
༒࿈南林࿈༒15 分钟前
某川数据接口逆向、SM系列国密算法
python·js逆向·国密(sm系列)
MwEUwQ3Gx32 分钟前
网络爬虫是自动从互联网上采集数据的程序
爬虫
ftpeak41 分钟前
LangGraph Agent 开发指南(10~子图 Subgraphs)
python·ai·langchain·ai编程·langgraph