一、项目目的与意义
二、项目的内容与操作环境
三、项目实施过程
四、项目总结及收获
一、项目目的与意义
数据采集课程设计是计算机科学与技术专业的一门专业课程,涉及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