# -BERT-
通过python爬虫获取人民网、新浪等网站新闻作为训练集,基于BERT构建新闻文本分类模型,并结合node.js + vue完成了一个可视化界面。
### 一、新闻爬取
#### 1、python依赖
```
pip install demjson==2.2.4 // 解析json数据
pip install requests==2.25.1 // 请求网页
pip install Beautifulsoup4==0.0.1 // 解析HTML源码
pip install loguru==0.5.3
pip install install openpyxl==3.0.7
```
#### 2、爬取过程
主要依赖request库请求网页源码或JavaScript数据,然后通过bs4s识别标签进行解析,获取网页中的新闻内容。不同网页代码框架不同,四个文件针对不同网站的HTML代码进行解析。爬取的新闻内容通过openpyxl保存在excel文件中
### 二、基于BERT的新闻文本分类模型
#### 1、python 依赖
```
pip install pytorch-pretrained-bert==0.6.2
CUDA-10.2 PyTorch builds are no longer available for Windows, please use CUDA-11.3
```
有关pytorch和cuda 10.2 的安装可参见官网:
pytorch:https://pytorch.org/
cuda10.2:https://developer.nvidia.com/cuda-10.2-download-archive
#### 2、代码使用说明
(1)代码中使用的bert预训模型来自哈工大https://github.com/ymcui/Chinese-BERT-wwm
(2)可运行 main.py 文件自行训练模型,使用的数据集类似于 dataset 中的文本格式即可
(3)one_predict.py 可实现对单条新闻文本的分类
(4)file_predict.py 可实现对文件中所有的新闻进行分类
### 三、web端应用
#### 1、前端
基于 Vue 框架
项目热启动于http://localhost:8080
```
cd frontend
npm install
npm run dev
```
#### 2、后端
基于 node.js 中的 express 框架
项目热启动于http://localhost:3000
```
cd backend
npm install
npm run dev
```
注意:在使用的时候需要将训练好的分类模型放在 \backend\src\bert_trained 文件夹中,否则无法实现新闻文本分类功能
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于BERT构建新闻文本分类模型,并结合node.js + vue完成了一个可视化界面。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
通过python爬虫获取人民网、新浪等网站新闻作为训练集,基于BERT构建新闻文本分类模型,并结合node.js + vue完成了一个可视化界面。.zip (72个子文件)
SJT-code
bert_model_train
main.py 2KB
bert_pretrained
bert_config.json 520B
vocab.txt 107KB
dataset
test.xlsx 4.76MB
train.xlsx 18.38MB
model.py 1KB
file_predict.py 561B
classifier.py 4KB
one_predict.py 695B
train.py 1KB
test.py 1KB
data_process.py 4KB
web
backend
app.js 1KB
src
file_predict.py 397B
bert_model.py 1KB
classifier.py 4KB
one_predict.py 434B
bert_trained
bert_config.json 520B
vocab.txt 107KB
backend.exe 37.97MB
package.json 499B
bin
www 2KB
public
index.html 549B
static
js
app.98da615be0f81743de9b.js 13KB
manifest.2ae2e69a05c33dfc65f8.js.map 5KB
app.98da615be0f81743de9b.js.map 42KB
vendor.b806467fc4f6389c0057.js.map 3.14MB
vendor.b806467fc4f6389c0057.js 815KB
manifest.2ae2e69a05c33dfc65f8.js 857B
css
app.9275619cf0e609bc725bdf11a5ecf14e.css.map 329KB
app.9275619cf0e609bc725bdf11a5ecf14e.css 231KB
fonts
element-icons.535877f.woff 28KB
element-icons.732389d.ttf 55KB
routes
multer.js 832B
process.js 2KB
index.js 205B
package-lock.json 21KB
views
index.ejs 222B
error.ejs 83B
frontend
.editorconfig 147B
src
App.vue 140B
main.js 440B
api
apis.js 931B
router
index.js 318B
views
Multicls.vue 12KB
Singlecls.vue 3KB
Classification.vue 1KB
.babelrc 230B
package.json 2KB
build
check-versions.js 1KB
logo.png 7KB
utils.js 3KB
vue-loader.conf.js 553B
webpack.prod.conf.js 5KB
build.js 1KB
webpack.base.conf.js 2KB
webpack.dev.conf.js 3KB
package-lock.json 469KB
.postcssrc.js 246B
index.html 313B
.gitignore 154B
static
.gitkeep 0B
README.md 465B
config
prod.env.js 61B
index.js 2KB
dev.env.js 156B
crawler
craw_wangyi.py 4KB
crawl_CNBN.py 4KB
crawl_sina.py 5KB
news
新闻.xlsx 1.16MB
crawl_peoples_network.py 3KB
README.md 2KB
共 72 条
- 1
资源评论
JJJ69
- 粉丝: 6166
- 资源: 5789
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功