python实训

一、项目目的与意义

二、项目的内容与操作环境

三、项目实施过程

四、项目总结及收获

一、项目目的与意义

数据采集课程设计是计算机科学与技术专业的一门专业课程,涉及python编程、数据库技术等课程。课程设计的目的是使学生掌握数据采集以及预处理的技术,理解数据采集的原理以及实现,培养学生综合运用所学知识的能力。通过数据采集项目解决实际问题,培养学生严谨的学习态度和良好的学习习惯。

数据采集课程是一门旨在教授如何使用 Python 编写程序来获取、处理和分析数据的课程。该课程将介绍如何使用 Python 编写网络爬虫、解析 HTML 页面、使用数据库存储数据并对数据进行预处理。旨在通过本次课程设计,锻炼学生发现问题、解决问题、综合编程、团队合作等方面的能力,通过案例开发掌握python爬虫基础技术和数据采集以及预处理思路,了侧重实践能力引导和培养。由浅入深的带领学生熟悉数据采集的技术和原理,并辅导学生一步一步的完成项目的开发,学习和提高数据采集和处理能力,提高项目开发能力,注重学生团队意识培养。

二、项目的内容与操作环境

(一)项目内容

本项目的目的是通过使用Python爬虫技术从目标网站上爬取数据,并将数据存储到MySQL数据库中,然后使用Kettle软件对爬取的数据进行处理。通过这个项目,学生可以学习并掌握Python爬虫的基本原理和实现方法,了解MySQL数据库的基本操作和Kettle软件的使用,同时也可以提高学生对数据处理和数据清洗的认识和实践能力。

(二)项目环境

      一台PC机,Windows10/11操作系统,Pycharm,JDK8,MySQL数据库,Navicat premium15,kettle

三、项目实施过程

一.基础环境搭建安装

1.python相关库安装

安装爬虫所需的urllib和bs4包

pip install urllib3

pip install beautifulsoup4

安装数据入库所需的包

pip install pymysql

安装数据可视化所需要的包

pip install pyecharts

2. mysql数据库安装

下载安装包

解压压缩包,将my.ini文件放到解压后的目录

命令行窗口下,切换到指定的文件夹下面

安装并启动mysql服务

启动mysql服务,配置远程可连接

用Navicat连接mysql数据库

3. kettle软件安装并连接mysql数据库

解压缩文件pdi-ce-8.2.0.0-342.zip解压完成之后,配置环境变量,环境变量指向Java的安装目录

kettle 连接数据库

mysql-connector-java-8.0.30.jar放在kettle 的lib文件夹下面

修改kettel中的sample-jndi文件夹下的配置文件

修改完成后,采用jndi的方式连接mysql数据库

二.数据采集以及预处理

1.编写代码

python爬虫数据采集,构造请求,使用urllib库

urllib库的主要作用是发送HTTP请求和处理响应。它支持同步和异步两种方式,可以发送GET、POST、PUT、DELETE等HTTP请求,并支持HTTPS协议。urllib库还提供了许多有用的功能,例如URL编码、处理Cookie、处理重定向等。

python爬虫数据采集,解析数据

Beautiful Soup是一个Python库,用于解析HTML和XML文档,包括从网页或其他来源获取内容,并以树形结构组织这些内容,使其可以轻松地通过标签名、属性、ID或搜索等来访问。

Beautiful Soup的主要作用是:

1.解析HTML或XML文档:Beautiful Soup可以将复杂的HTML或XML文档转换成一个复杂的树形结构,每个节点都是Python对象,这样你就可以很方便地查询、修改文档。

2.搜索文档:Beautiful Soup支持在树形文档中进行搜索,可以搜索标签名、属性、文本内容等

数据采集代码如下

#!/usr/bin/env python
# coding: utf-8

# 导入所需库
import csv  # 用于 CSV 文件的读写操作
import urllib  # 用于 URL 解析
import urllib.request  # 用于 HTTP 请求
from time import sleep  # 用于添加延迟
from bs4 import BeautifulSoup as bs  # 用于解析 HTML
from urllib.parse import urljoin  # 用于处理 URL
import pymysql  # 用于连接 MySQL 数据库
import random  # 用于生成随机数
import time  # 用于处理时间
import requests  # 用于发送 HTTP 请求
from 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值