logo资料库

文本爬取和分词预处理.pdf

第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
资料共31页,剩余部分请下载后查看
搜索引擎文本预处理 实验报告 学院: 信息科学与技术学院 教师: 吴晓 姓名: 武瑞梓 学号: 2016112368 班级: 软件 2016-01 班 2018-2019
目录 1 中文文本预处理 ...............................................................................................................................................1 1.1 文本下载 ................................................................................................................................................1 1.2 文本去重复 ............................................................................................................................................4 1.3 文本分词处理 .......................................................................................................................................6 1.4 去停用词处理 .......................................................................................................................................8 2 英文文本预处理 ............................................................................................................................................ 10 2.1 文本下载 ............................................................................................................................................. 10 2.2Poter-Stemming ................................................................................................................................ 13 2.3 去停用词处理 .................................................................................................................................... 22 3 文本命名处理 ................................................................................................................................................. 24 4 项目感想 .......................................................................................................................................................... 26
1 中文文本预处理 1.1 文本下载 综合衡量了多个网站以后,选择了知乎主页面的每日热榜文章进行文章的下 载。首先确定了该页面的 url:https://www.zhihu.com/explore#daily-hot。然 后在该页面中,出现如下的页面内容: 接下来进行文本的爬取过程。通过开发者工具中监控网站的请求,多次请求 网站后台以后发现有一系列相似的格式的请求重复出现,每次在网站页面请求更 多文本的时候会重复出现。因此确定该请求即需要爬取的文章的网站后台请求。 1
通过查看该请求,即发现猜想符合实际情况。进入该请求的返回 URL 链接, 发现该请求每次请求后台一次,即返回 5 篇文章。即每一个返回的 URL 的内容即 五篇新的文章。然后考虑到这些相似返回的 URL 的格式以及参数问题,我使用 URL decode 工具对选取的这一系列的 URL 进行了解析。得到以下结果。 通过解析结果可以知道该请求的参数有两个,即 offset 表示文章的索引, type 表示文章的栏目属于日推。 根据该结论,可以得到包含日推文章的所有 URL。因此利用 python 编写程 序下载日榜的所有文章: import requests import self as self from pyquery import PyQuery as pq index=1 i=1 f=open('urls.txt','w+',encoding='utf-8') while(i<=506): url='https://www.zhihu.com/node/ExploreAnswerListV2?params={"offset":'+str(i)+',"type":"day "}' f.write(url+'\n') headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36", } html = requests.get(url, headers=headers).text doc = pq(html) items = doc('.explore-feed.feed-item').items()
for item in items: question = item.find('h2').text() author = item.find('.author-link').text() answer = pq(item.find('.content').html()).text() file = open('OriginArticles\article'+str(index)+'.txt', 'a', encoding='utf-8') file.write('\n'.join([question, author, answer])) file.write('\n') file.close() index=index+1 i=i+5 该程序运行会出现一个问题,即只有 198 篇符合标准的文章,而第 199 篇文 章之后所有文章都为空文档。然后重新去查看知乎热榜连接,参考所有 html 代 码时发现,日榜文章最多只会保存 198 篇文章。即请求网站后台返回的文章最多 有 198 篇。 因此,将该程序在不同的三天事件中运行三次,即可得到 594 篇文章。在该 594 篇文章中保留前 500 篇文章。得到所需的 500 篇源文本。
分享到:
收藏