Python 3 爬虫学习笔记 7 N-grams,openRefine

此学习笔记整理于 Ryan Mitchell Web Scraping with Python- Collecting Data from the Modern Web (2015) Chapter Cleaning your dirty data


P.S.:没能上车的小伙伴欢迎留言,如果我会我直接回答你!如果不会,我谷歌后回答你!如果要加我微信,不行。

一,N-grams

这个其实是语义分析。看看词组在一起的概率。

让我们先来看一下流程,首先爬取string,然后clean,然后截取不同的词组,然后记录频次。

爬取string

html= urlopen("http://en.wikipedia.org/wiki/Python_(programming_language)")

bsObj = BeautifulSoup(html,"html.parser")

content = bsObj.find("div", {"id":"mw-content-text"}).get_text()

clean,这里作者用了一个函数


Python 3 爬虫学习笔记 7 N-grams,openRefine_第1张图片

第一个是去除单个或者多个换行符。正则表达式,+表示至少一个。换上空格,后面截断句子成单子用到。

第二个是去除数字.第三个是去除单个或者多个空格。第四个是去除各种转移符 escape character,用编码,解码的方式去除。

string.punctuation 需要import string,这是所有的标点符号,然后用strip去除所有前置和后置的标点符号。

最后是单词的长度应该大于1,或者是A,I 这样的单词。

截取n-gram,作者也是用了一个函数


Python 3 爬虫学习笔记 7 N-grams,openRefine_第2张图片

截取n个单词,然后用空格连接起来。如果存在了,其值加一,如果不存在加入output字典,然后其值设为1.

记录频次并排序

Python里面有专门的排序字典,from collections import OrderedDict


排序,用到了lambda函数。

二,OpenRefine

作者也提到了OpenRefine,也只是提了一下,举了一个栗子。

你可能感兴趣的:(Python 3 爬虫学习笔记 7 N-grams,openRefine)