实验作业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. 控制台输出
excel 表的内容
sqlite 数据库数据
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.bhha.com.cn/news/2178.html