题目要求:

第3题  爬虫应用——校园网搜索引擎

本题旨在使用Python建立一个适合校园网使用的Web搜索引擎系统,它能在较短时间内爬取页面信息,具有有效准确的中文分词功能,实现对校园网上新闻信息的快速检索展示。

代码:

import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
import re
import os
from time import sleep
import sqlite3def creatdb():#建库建表con = sqlite3.connect("爬虫.db")  # 打开/建立数据库Cur = con.cursor()con.execute("create table date_pa (title text primary key ,"  # 标题"ip text not null,"  # 链接"text1 text not null)")  # 正文con.commit()Cur.close()con.close()def find_text(ip):#打开网页获取源码.ip="http://www.zueb.edu.cn"+iprep = urllib.request.urlopen(ip)try:html = rep.read().decode('utf-8')except:print("出错了!")str1 = BeautifulSoup(html, 'html.parser')return  str1def adddate(titel,ip,text):#增添数据con = sqlite3.connect("爬虫.db")  # 打开/建立数据库Cur = con.cursor()titel="'"+titel+"'"ip="'"+ip+"'"text="'"+text.replace("'","!")+"'"# print("insert into date_pa values (" + titel + " , " +ip +" , "+text+ " ) ")try:Cur.execute("insert into date_pa values (" + titel + "," + ip + "," + text + ")")  # 加入数据con.commit()  # 提交.print("插入成功")Cur.close()con.close()except:print("1")def createdate():#初始化数据库url = "http://www.zueb.edu.cn/site/xsgate/xsyw/index.html"url1 = "http://www.zueb.edu.cn/site/xsgate/xsyw/index.html"print(url1)# 打开网页rep = urllib.request.urlopen(url1)# 获取网页内容try:html = rep.read().decode('utf-8')except:print("出错了!")# 正则匹配str1 = BeautifulSoup(html, 'html.parser')li = str1.find_all('div', attrs={'class': "main_box_inner_right"})m = str(li)m = BeautifulSoup(m, 'html.parser')soup = m.find_all('span', {'class': 'title'})soup1 = m.find_all('a', {'target': '_blank'})creatdb()#建库for i in range(0, len(soup1)):# print(soup1[i]['title'] + soup1[i]['href'])title = soup1[i]['title']ip = soup1[i]['href']print(title)print(ip)text = str(find_text(ip))  # 获取网页源码.adddate(title, ip, text)  # 将信息加入表中for yeshu in range(1, 121):  # 循环执行下边的其他网页.url1 = url[0:url.find('.h')] + '_' + str(yeshu) + url[url.find('.h'):]print(url1)# 打开网页rep = urllib.request.urlopen(url1)# 获取网页内容try:html = rep.read().decode('utf-8')except:print("出错了!")# 正则匹配str1 = BeautifulSoup(html, 'html.parser')li = str1.find_all('div', attrs={'class': "main_box_inner_right"})m = str(li)m = BeautifulSoup(m, 'html.parser')soup = m.find_all('span', {'class': 'title'})soup1 = m.find_all('a', {'target': '_blank'})for i in range(0, len(soup1)):# print(soup1[i]['title'] + soup1[i]['href'])title = soup1[i]['title']ip = soup1[i]['href']print(title)print(ip)text = str(find_text(ip))  # 获取网页源码.adddate(title, ip, text)  # 将信息加入表中def find_key(key1):key1="'%%"+key1+"%%'"con = sqlite3.connect("爬虫.db")  # 打开/建立数据库Cur = con.cursor()  # 创建游标对象print("select * from date_pa where like title = "  + key1)Cur.execute("select * from date_pa where  title like "  + key1 )  # 模糊匹配.for row in Cur:print(row)Cur.close()con.close()m=input("是否第一次打开本程序?( 1 or 0 ):")
if m == "1" :createdate()#初始化数据库
else:key1=input("请输入你要搜索的关键词:")find_key(key1)

本实验具体内容于:

Python课设实验报告.docx-讲义文档类资源-CSDN文库https://download.csdn.net/download/kilig_CSM/68857848

(本报告包含课设目的,开发环境,课设内容,需求分析,设计过程,存储方式,过程及代码,调试过程,小结,参考文献.)

注意:

需要注意的是该代码用到了bs4包,没有下过的童鞋需要下载后才能导入.

Python课设实验 之 爬虫应用——校园网搜索引擎(使用bs4进行数据分析.)相关推荐

  1. Python课设实验 之 公交查询系统.(文本导入 字典树 储存.)

    要求: 目录 要求: 第1题  编写一个公交查询系统 随着公交系统的庞大,人们很难得到准确的公交信息,这样给人们的出行就带来了不便.因此,急需一个方便.快捷的公交信息查询方式,本系统提供换乘询功能.路 ...

  2. Python课设实验 之 车票订购系统.(sqlite数据库 储存.)

    要求: 第2题 编写车票订购系统 (1)上网查询郑州到北京.西安.石家庄.济南.太原.武汉的距离以及票价,用数据库保存车次信息. (2)要求输入目的地,能够查询到里程和票价信息. (3)用数据库存储每 ...

  3. python课设_校园一卡通

    常州大学Python课设,校园一卡通 一.设计题目:校园一卡通管理系统 二. 设计内容: 用类的方法设计学生一卡通数据类型学生一卡通的基本数据成员至少包括:卡号(学号), 姓名, 性别, 余额,消费总 ...

  4. python课设带报告_20193103陈柏维《Python程序设计》实验四报告

    20193103 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1931 姓名: 陈柏维 学号:20193103 实验教师 ...

  5. python课设答辩ppt_如何制作优秀的毕业论文答辩PPT

    首答于知乎,链接:https://www.zhihu.com/question/23221029/answer/717686184 特此作为up主我的第一篇专栏文稿 ╭(●`∀´●)╯. 顺便纪念自己 ...

  6. python课程设计题目-python课设题目

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 最近咨询课设问题的同学越来越多了,大部分都是用pandas做数据统计的问题,我就找 ...

  7. 数字电子钟Multisim仿真(数电课设+实验报告)

    我本次的数电课设是设计一个电子时钟,并用Multisim实现仿真 因为自己刚开始做这个实验的时候也是网上的一些资料帮助了自己,所以我也想把自己的东西分享出来,给其他人一些思路. 这个是总体的设计要求 ...

  8. python课设代码,《Python语言程序设计》课设代码

    <Python语言程序设计>课设代码是一个不错的学习资源,大小为3.45 MB,由钱高昂 提供,Python类资源中评分为9.5. 资源介绍 电子科技大学2020年<Python语言 ...

  9. python爬虫课设报告_python爬虫小说设计报告 相关实例(示例源码)下载 - 好例子网...

    开发语言:Python | 大小:0.07M | 发布时间:2020-11-12 | 立即下载 开发语言:Python | 大小:2.24KB | 发布时间:2020-10-23 | 发布人:吴wu ...

最新文章

  1. 【原创】MySQL 5.5 新增SIGNAL异常处理
  2. Java集合:HashMap
  3. 三层Dirichlet 过程(非参贝叶斯模型)-来自Machine Learning
  4. ssms排序代码_SSMS中的代码片段概述
  5. 计算机无法安装应用,编程软件无法安装或报错
  6. PLSQL 实现split
  7. fun php,fun.php
  8. 感受一下Java中的“枚举类型”
  9. miracast和乐播投屏_【当贝市场】Windows 10 Mircast投屏到电视教程
  10. oracle 转换日期的函数,Oracle日期常用函数转换教程
  11. 前后端数据交互(八)——请求方法 GET 和 POST 区别
  12. 晓前端·周刊【第6期】:量子霸权
  13. 办理ICP证、SP证、BBS证及非经营性网站(ICP)备案常见问题解答
  14. unable to start ssh-agent service, error :1058 问题的解决方法
  15. prompt learning 提示学习初步心得及示例 代码
  16. C语言讲义——开发工具Dev C++
  17. 微信定位精灵服务器或网络异常,为什么微信定位精灵定位不了怎么办?
  18. c语言计算器开题报告,基于单片机的简易电子计算器设计开题报告.doc
  19. 什么是情绪分析?基本指南
  20. 每天一道笔试题-2012年3月12日

热门文章

  1. 点击Sdk目录下tools目录下的monitor.bat 出现Unexpected error while parsing input: lnvalid ui automator hierarchy
  2. Power Designer数据库建模
  3. haroopad下载及安装
  4. 计算机基础考试范围,《大学计算机基础考试范围.pdf
  5. AVProVideo PC无法播放的问题
  6. 电脑触摸板失灵的处理方法
  7. 苹果6访问限制密码4位_浅谈打印机共享无法访问,您知道您的电脑为什么无法访问了吗?...
  8. JAVA计算机毕业设计沧州市博众集团有限公司生产管理系统Mybatis+系统+数据库+调试部署
  9. Break or Repair?
  10. Sybase数据库数据导入导出命令