基于Web爬虫的个性化推荐系统设计与实现

 2022-01-17 11:01

论文总字数:24155字

目 录

1.绪论 1

1.1设计背景 1

1.2开发目的 1

1.3开发意义 1

2.环境搭建 1

2.1 操作系统 1

2.2 爬虫环境搭建 1

2.2.1 Pip的安装 1

2.2.2 爬虫工具Selenium的安装 2

2.2.3 爬虫工具驱动GeckoDriver的安装 2

2.2.4 协程调度库Gevent的安装 2

2.2.5 页面解析库lxml的安装 2

2.3 数据库环境搭建 2

2.3.1 Mysql数据库安装 2

2.3.2 Mysql数据库启动、关闭、重启 2

2.3.3 数据库操作库Pymysql、DBUtils的安装 3

2.4 WEB环境搭建 3

2.4.1 Web框架Django的安装 3

2.4.2 Web项目的创建 3

2.4.3 Web项目的配置 3

3.关键技术 4

3.1 开发工具 4

3.1.1 开发环境-Pycharm 4

3.1.2 开发语言-Python编程语言 4

3.1.3 网络爬虫工具-Selenium 4

3.1.4 网络爬虫效率-协程 5

3.1.5 Web框架-Django 5

3.2 网页元素定位 6

3.2.1 Xpath元素定位 6

3.2.2 正则表达式元素定位 6

3.3 用户信息加密-PBKDF2_SHA256算法 7

3.4 关键词提取 7

3.4.1 文本预处理-jieba分词 7

3.4.2 中文分词-TextRank算法 7

3.5 个性化推荐 8

3.5.1 皮尔逊系数 8

3.5.2 基于用户的协同过滤算法 8

4.系统功能 9

4.1 功能性需求 9

4.1.1 获取网页DOM内容功能 9

4.1.2 网页数据定位功能 10

4.1.3 数据库操作功能 10

4.1.4 账户管理功能 11

4.1.5 公告分类展示功能 11

4.1.6 搜索框查询展示功能 11

4.1.7 关键词提取功能 12

4.1.8 个性化推荐功能 12

4.2 非功能性需求 12

4.2.1 基本功能需求 12

4.2.2 用户体验需求 13

4.2.3 可拓展性需求 13

5.基于Web的网络爬虫系统总体实现 13

5.1 系统设计原则 13

5.2 总体架构 14

5.3 逻辑架构 14

6.基于Web的网络爬虫系统详细实现 15

6.1 爬虫功能 16

6.1.1 爬虫策略设计 16

6.1.2 爬虫策略实现 17

6.2 WEB展示功能 17

6.2.1 账户管理功能 18

6.2.2 公告分类展示功能 19

6.2.3 搜索框查询展示功能 21

6.2.4 公告关键词提取功能 23

6.2.5 个性化推荐功能 24

6.3 数据库设计 27

6.4 安全保密设计 29

7.总结与展望 29

参考文献 29

致谢 31

基于web的网络爬虫系统设计与实现

卜维新

,China

Abstract: Nowadays,the internet industry and big-data industry develop at full speed,in the meanwhile,the data and information transmitted over the network are booming.Obtaining the required information efficiently from mass data,providing highly available dataset for big data mining and other research,are becoming new application direction of web crawlers.Common web crawlers has some limitations,while directional web crawlers are designed to correspond to different needs of users in different fields.This makes up for some shortcomings of the common web crawlers.In this context,the design provides a web crawler system based on Internet.Apt from that,the design ideas and releated technologies are describled in detail.This paper has made detailed requirements analysis. I realized the functions of Web spider and Web display,finally I achieved the original goal.On the basis of that,the paper proposed improvement plan.

Keywords:Web Crawler;Python;Coroutine;Keywords Extraction; Collaborative Filtering

绪论

设计背景

在当今信息化时代,网络中的数据信息量与日俱增,通用搜索引擎在个性化需求方面存在着许多改进空间。因此,针对特定网页和个性化搜索需求的定向网络爬虫发挥着越来越重要的作用[1]。随着大数据产业的高速发展,网络爬虫技术同样在提供高效可用数据集领域发挥着不可或缺的作用。通过对定向网络爬虫技术的研究,提高定向信息的采集效率,是当前较为流行的网络爬虫研究方向。本系统在此研究背景下展开相关技术与策略的探索。

开发目的

高效获取网络数据并进行清洗去重工作,在此基础上运用相关数据挖掘算法,已经成为网络爬虫深度发展的方向之一。网络爬虫实现精准定位数据元素信息,过滤非本体元素,数据清洗等相关工作对于算法的研究起着十分基础性的作用。只有网络爬虫性能高效,数据集精确高可用,才能真正实现数据与深度挖掘算法的结合。而本课题通过对基于web的网络爬虫系统进行研究,目的在于探索网络爬虫获取数据的相关原理和实现策略,针对常见的反爬虫机制进行有效处理,并通过精准定位有效数据信息,数据清洗和去重等相关操作,得到数据挖掘所需数据集。在此基础上针对有效数据进行展示和推荐算法等相关领域的研究。

开发意义

近些年来,数据成为社会研究的重要一环,为诸多科研领域提供了重要的研究基础。然而,针对数据的研究面临着数据源缺乏等问题,这对数据领域科学研究的发展带来了一定困难。因此,大数据时代背景下,网络爬虫的基础性作用不言而喻。开发高效网络爬虫系统,突破数据源缺失的困难,并在高效可用数据基础上展开数据挖掘研究,这具有重要意义。

环境搭建

操作系统

使用Linux常见发行版本Ubuntu16.04。

爬虫环境搭建

Pip的安装

终端执行如下命令:

sudo apt-get update

sudo apt-get install python-pip

爬虫工具Selenium的安装

终端执行如下命令:

sudo pip install selenium

爬虫工具驱动GeckoDriver的安装

GeckoDriver下载地址:https://github.com/mozilla/geckodriver/releases

安装步骤如下:

  1. 下载geckodriver-v0.20.1-linux64.tar.gz
  2. 终端执行如下命令解压软件包

sudo tar –zxvf geckodriver-v0.20.1-linux64.tar.gz

  1. 终端执行如下命令将解压后的可执行文件移动到系统目录

sudo mv geckodriver /usr/bin

协程调度库Gevent的安装

终端执行如下命令:

sudo pip install gevent

页面解析库lxml的安装

终端执行如下命令:

sudo pip install lxml

数据库环境搭建

Mysql数据库安装

终端执行如下命令:

sudo apt-get update

sudo apt-get install –y mysql-server mysql-client

在安装过程中,输入数据库对应的用户名和密码即可。

Mysql数据库启动、关闭、重启

  1. 启动:终端执行命令sudo service mysql start
  2. 关闭:终端执行命令sudo service mysql stop
  3. 重启:终端执行命令sudo service mysql restart

数据库操作库Pymysql、DBUtils的安装

终端执行如下命令:

sudo pip install pymysql

sudo pip install DButils

Web环境搭建

Web框架Django的安装

终端执行如下命令:

sudo pip install Django

Web项目的创建

  1. 创建一个Django项目

终端执行如下命令:django-admin startproject school

  1. 运行Django项目

终端执行如下命令:python manage.py runserver

Web项目的配置

  1. settings.py

在该文件中设置数据库,模板等项目配置信息。

  1. urls.py

在该文件中设计Django路由,即映射后端处理函数。

  1. views.py

在该文件中编写视图函数,实现视图逻辑。

  1. wsgi.py

Web服务器网关入口,用来同服务器网关交互。

关键技术

开发工具

开发环境-Pycharm

Pycharm是JetBrains公司研发的Python开发环境,具有新建和管理项目,单元测试,调试,版本控制,代码分析,发布项目,代码跳转等功能。

Pycharm能够编译执行python语言源代码,支持Django、Flask等Web开发框架,为开发者提供了较为全面的Python栈开发工具。

开发语言-Python编程语言

Python 语言是一种面向对象的动态程序设计语言。在网络爬虫、Web开发、信息安全、人工智能等专业领域具有极其强大的作用。Python在处理变量类型时采用动态类型的方式,即根据需要使用变量,不需要繁琐的声明定义变量类型。

剩余内容已隐藏,请支付后下载全文,论文总字数:24155字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;