Python爬取湖经官网首页导航栏内容并生成CSV文件

Python爬取湖经官网首页导航栏内容并生成CSV文件

2018网络爬虫技术案例与实训期末实验报告

摘要
本文主要介绍了大数据采集的基本定义,描述了对湖北经济学院首页导航栏爬取并生成CSV文件的过程。主要用了Python中的beautifulsoup+pandas库。

1. 网络大数据采集简介

近年来,以大数据、物联网、人工智能、5G为核心特征的数字化浪潮正席卷全球。随着网络和信息技术的不断普及,人类产生的数据量正在呈指数级增长。大约每两年翻一番,这意味着人类在最近两年产生的数据量相当于之前产生的全部数据量。世界上每时每刻都在产生的大量的数据,包括物联网传 感器数据、社交网络数据、商品交易数据等等。 面对如此巨大的数据,与之相关的采集、存储、分析等等环节产生了一系列的问题。如何收集这些数据并且进行转换分析存储以及有效率的分析成为巨大的挑战。需要有这样一个系统用来收集这样的数据,并且对数据进提取、转换、加载。
大数据采集技术就是对数据进行ETL操作,通过对数据进行提取、转换、加载,最终挖掘数据的潜在价值。然后提供给用户解决方案或者决策参考。ETL,是英文 Extract-Transform-Load 的缩写,数据从数据来源端经过抽取(extract)、转换(transform)、加载(load)到目的端,然后进行处理分析的过程。用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据模型,将数据加载到数据仓库中去,最后对数据仓库中的数据进行数据分析和处理。数据采集位于数据分析生命周期的重要一环,它通过传感器数据、社交网络数据、移动互联网数据等方式获得各种类型的结构化、半结构化及非结构化的海量数据。由于采集的数据种类错综复杂,对于这种不同种类的数据。我们进行数据分析,必须通过提取技术。将复杂格式的数据,进行数据提取,从数据原始格式中提取(extract)出我们需要的数据,这里可以丢弃一些不重要的字段。对于数据提取后的数据,由于数据源头的采集可能存在不准确。所以我们必须进行数据清洗,对于那些不正确的数据进行过滤、剔除。针对不同的应用场景,对数据进行分析的工具或者系统不同,我们还需要对数据进行数据转换(transform)操作,将数据转换成不同的数据格式,最终按照预先定义好的数据仓库模型,将数据加载(load)到数据仓库中去。

2. 本报告要实现的目标

运用所学网络爬虫技术,爬取湖北经济学院学校主页(http://www.hbue.edu.cn)导航栏内包括首页、学校概况、学院设置、…合作交流、信息公开等所有栏目下的全部文字内容,设计成表格形式并保存为CSV文件。
以学院设置为例(如下图所示),需将学院设置下的所有学院名称爬取下来,其他栏目同样要求。
这里写图片描述

3. 爬虫程序
import requests
from bs4 import BeautifulSoup
import pandas as pd

url = 'http://www.hbue.edu.cn/'
html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')
Hbue = pd.DataFrame({})
#循环读取导航栏中的每一项
for i in range(1,11):
    hbue = soup.find_all('li', {'class': 'nav-item i'+ str(i) +' '})[0]
    spans = hbue.find_all('span')
    a = [i.string for i in spans[0:]]
    data = pd.DataFrame({
        str(a[0]): a[1:]
    })
    Hbue = pd.concat([Hbue, data],axis=1)
    Hbue.append(data)
#生成csv
Hbue.to_csv('hbue.csv')
4. 爬取结果(CSV表格结果)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/kunsue/article/details/81226214