自然语言处理语料的来源

众所周知,中文的语料非常稀少,因为中文不像英语那样只有26个字母组成一切,中文的汉字数不清楚,所以对于预料的整理就非常的繁琐和复杂。抛开现有的一些质量不好的中文语料不谈,我们可以想到一些已经整理的差不多的语料,只需要我们稍加处理就可以得到一个完美的语料。这个时候我就想到了字幕文件这个尚未被发现的巨大语料库,因为字幕的容易获取,而且处理起来比较简单,所以我选择了爬取字幕网站这一方式。

首先,选择一个字幕网站https://www.zimuku.la/我选择的是这个网站,大家也可以选择其他字幕网站。首先我们要先查看这个网站的网页结构,观察他的代码结构,发现我们想要的东西。下面来看一下网站首页:

我们观察后发现网站首页就有字幕的链接存在,我们再观察网页底部:


我们看到网页底部有页码,总共1500条字幕信息,一共50页。经过测试后发现,每一页的链接就是数字的变换,如:
http://www.zimuku.la/newsubs?&p=1这是第一页,http://www.zimuku.la/newsubs?&p=2这是第二页。
所以这就确定了我们的爬取链接。

接下来我们就可以查看第一页的网页源代码了:

划红线部分的detail后面的部分就是我们要找的每一条字幕的链接,只要在它的前面加上http://www.zimuku.la/即可对其进行访问。

接下去,我们对其访问到的网页进行分析:

可以看到绿色的按钮下载字幕是我们要找的,我们要将他的链接找到,同样查看其网页源代码:

在源代码中我们找到了这个下载链接,所有的链接我们都已经找到,接下来我们要做的就是具体的代码实现了。我们要用到的东西会有正则表达式,selenium,request等python库。

对于正则表达式就是根据网页源代码进行编写,我们可以用https://alf.nu/RegexGolf#accesstoken=xDpssJbZsLtvWCZGOppl这个正则表达式网站进行检测它的正确与否,可以提高我们的效率,

selenium模块的运用,主要是用浏览器测试工具操纵鼠标点击下载按钮,对字幕进行下载。因为要提高我们的效率,所以我们在一定的时间关闭浏览器测试工具。如果该字幕还未下载完成只能对其进行手动删除处理,这一点和网速有关。我也在想办法优化。

request库的使用相信大家都已经了解,不了解的可以期待我明天给大家写的一篇博客,简单的爬虫实现。

下面是源代码展示:

import re
import time
from selenium import webdriver
import requestsfor l in range(1, 50):try:url = "http://www.zimuku.la/newsubs?&p=" + str(l + 1)r = requests.get(url)data = r.textpat = 'href="(.*?)" target="_blank" title'rst = re.compile(pat).findall(data)for i in range(len(rst)):rst[i] = "http://www.zimuku.la/" + rst[i]# print(rst)dw_url = []for j in range(len(rst)):r2 = requests.get(rst[j])data2 = r2.textpat2 = 'down1" href="(.*?)" target="_blank" rel'rst2 = re.compile(pat2).findall(data2)dw_url.append(rst2[0])# print(rst2)# print(dw_url)for k in range(len(dw_url)):driver = webdriver.Chrome()driver.get(dw_url[k])driver.implicitly_wait(8)driver.find_element_by_xpath("/html/body/main/div/div/div/table/tbody/tr/td[1]/div/ul/li[1]/a").click()time.sleep(20)driver.close()except:print("爬取出错!")

自然语言处理之中文语料收集相关推荐

  1. 【自然语言处理NLP】中文语料整理【情感分析、文本分类、摘要、实体分析】

    中文NLP语料整理 新闻文本分类语料 情感分析语料 实体分析语料 垃圾分类语料 个人开发在做很多NLP相关任务的时候,语料的寻找十分头疼. 有很多公开的语料,被他人收费,或要积分下载等等. 对平时开发 ...

  2. 自然语言处理与中文分词的难点总结--学习笔记

    自然语言处理与中文分词的难点总结 2012年7月2日 10:01 中文自动分词 指的是使用计算机自动对中文文本进行词语的切分,即像英文那样使得中文句子中的词之间有空格以标识.中文自动分词被认为是中文自 ...

  3. 【python gensim使用】word2vec词向量处理中文语料

    word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...

  4. Word2Vec中文语料实战

    目录(?)[-] Word2Vec中文语料实战 Word2Vec中文语料实战                  虽然Word2Vec在NLP领域很火,但网上关于Word2Vec中文语料训练的入门级资料 ...

  5. [深度学习] 自然语言处理 --- Huggingface-Pytorch中文语言Bert模型预训练

    Hugging face 是一家总部位于纽约的聊天机器人初创服务商,开发的应用在青少年中颇受欢迎,相比于其他公司,Hugging Face更加注重产品带来的情感以及环境因素.官网链接在此 https: ...

  6. word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法

    word2vec介绍 word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离. 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出 ...

  7. windows10 训练word2vec 中文语料

    windows10 环境 训练word2vec 中文语料 参考这篇文章,但有自己体会 概述 本人是NLP中的菜鸟,喜欢这个领域,自己论文打算做这方面,训练word2vec是每一项NLP工作的基础内容. ...

  8. 深度学习与自然语言处理实验——中文信息熵的计算

    深度学习与自然语言处理实验--中文信息熵的计算 问题描述 实验原理 信息熵 语言模型的参数估计 实验过程 实验数据的预处理 一元模型 二元模型 三元模型 实验结果 语料信息统计 不同模型下的实验结果 ...

  9. 基于深度学习的Wiki中文语料词word2vec向量模型

    资源下载地址:https://download.csdn.net/download/sheziqiong/85820613 资源下载地址:https://download.csdn.net/downl ...

最新文章

  1. ActiveMQ消息中间件简明笔记(1)——理论知识点整理
  2. java字符串 大括号_string.format格式化字符串中转义大括号“{}”
  3. ylb:表的结构的修改和基本约束
  4. 中小企业CRM评测-用户交互_易客
  5. linux之ftp怎么把本地文件拷贝到服务端
  6. 全世界关于数学家和科学家的电影
  7. Google的wiki-map也上线了
  8. html给table加外边框,如何给table添加边框
  9. android查看数据库
  10. linux下查看so文件内容,linux查看so文件的一些信息命令
  11. xcode 打包ipa
  12. Reason: Canonical names should be kebab-case (‘-‘ separated), lowercase alpha-numeric characters and
  13. 编译caffe2遇到的坑
  14. 51单片机入门——单片机最小系统
  15. RedHat 自定义Jenkins Slaver Service,并开机自启动
  16. mybatis where 标签使用
  17. css3-属性选择器 伪类:root :not() :first-of-type :first-child 伪元素 ::first-letter ::first-line ::selection等等
  18. Oracle数据库中神奇的dual表
  19. 「京东白条」的数据架构进化之路
  20. Maven Resources Compiler: Failed to copy ‘XXX‘ to ‘target/xxx‘编译报错

热门文章

  1. 对计算机网络的认识论文800,对网络的认识的作文
  2. 3dmax2022 python配置使用
  3. 电脑文件丢失怎么找回来
  4. linux 下的光盘拷贝
  5. thinkphp使用flash上传验证登录问题
  6. 腾讯云安全隐私计算通过 CFCA 评测,再获国家级认可
  7. Java基础-SSM之mybatis一对一关联
  8. python ls命令_ls命令
  9. 自定义bpmn.js左侧工具栏palette样式
  10. QCC3040---Handset service module