当前位置:首页 > 资讯 > 正文

【大数据搜索引擎】网络爬虫南华实验报告(2021年版)

【大数据搜索引擎】网络爬虫南华实验报告(2021年版)

实验作业7+实验作业8下载链接
https://download.csdn.net/download/qq_37636795/18398399

南华大学
计算机科学与技术学院
实验报告

( 2020 ~2021 学年度 第二学期 )

课程名称 搜索引擎
实验名称 网络爬虫

姓名 学号

专业 软件工程 班级

地点 八教606 教师 肖建田

目录
一、实验目的 3
二、实验环境 3
三、实验材料 3
四、实验设计 3
五.结果和性能分析 3
六.有待解决的问题 3
七.实验总结 3

一、实验目的
了解网络爬虫的意义
掌握网络爬虫的基本方法

二、实验环境
Windows 10
Python 3.9
三、实验材料
Firefox 浏览器
Sqlite 数据库
pycharm开发工具
四、实验设计
1.数据库设计
create table epidemic
(
id integer – 主键id
primary key autoincrement,
title text, – 标题
newsUrl text, – 新闻主体url
publish_time text, – 发布时间
contents text – 新闻内容
);

2.程序代码
import re
import sqlite3

import xlwt
from bs4 import BeautifulSoup
from selenium import webdriver

browser = webdriver.Firefox()

findnewUrl = re.compile(’<a href="(.?)".>’)
findTitle = re.compile(’<a.>(.?)’)
findPublishTime = re.compile(’’)

def getContent(url):
“”"
获取新闻主体
:param url: url地址
:return:
“”"
browser.get(url)
# 获取页面资源
html = browser.page_source
# 解析页面,获取文档树
doc = BeautifulSoup(html, “lxml”)
contents_Ele = doc.select(“div#xw_box > p”)
contents = “”

 

def getData(baseUrl):
“”"
爬取网页数据
:param baseUrl:
:return:
“”"
tempUrl = baseUrl

 

def init_db(dbPath):
“”"
创建数据库和表
:param dbPath:
:return:
“”"
sql = ‘’’
create table epidemic(
id integer primary key autoincrement,
title text ,
newsUrl text ,
publish_time text,
contents text
)
‘’’

 

def saveDataDB(dbPath, dataList):
“”"
保存数据到sqlite中
:param dbPath:
:param dataList:
:return:
“”"
init_db(dbPath)
conn = sqlite3.connect(dbPath)
cursor = conn.cursor()

 

def saveData(savePath, dataList):
“”"
保存数据到excel
:param savePath:
:param dataList:
:return:
“”"
workbook = xlwt.Workbook(encoding=“utf-8”)
sheet = workbook.add_sheet(‘最新疫情消息’, cell_overwrite_ok=True)

 

def main():
baseUrl = “http://www.nhc.gov.cn/xcs/yqtb/list_gzbd”

 

if name == “main”: # 程序执行入口
main()
五.结果和性能分析
1. 控制台输出

  1. excel 表的内容

  2. sqlite 数据库数据

最新文章