我们都知道进行自然语言处理的第一步就是分词,下面使用jieba模块对最近比较热的电视剧《人民的名义》进行分词,并对它进行一些简单的文本分析。

一、jieba模块中常用的方法说明(github):

1.分词:

  • jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
  • jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
  • 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8
  • jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用
  • jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
  • jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

最近学习python爬虫,为了练习一下,在书本网上爬去《人民的名义》,代码如下:

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Sun Apr 16 16:24:32 2017
 4 python爬去小说--人民的名义
 5 @author: whb
 6 """
 7 import urllib2 as p
 8 import re
 9 from bs4 import BeautifulSoup
10 #得到每个章节的url与标题
11 def find_html(url):
12     html=p.urlopen(url).read() 
13     reg=re.compile(r'<li class="n"><a href="(.*?)">(.*?)</a></li>')
14     cont=re.findall(reg,html) 
15     url=[x[0] for x in cont]
16     name=[x[1] for x in cont]
17     return [name,url]   
18 # 提取小说正文     
19 def search_content(url_list):
20     html=p.urlopen(url_list).read()
21     soup=BeautifulSoup(html)
22     content=soup.find_all('p') 
23     return content
24 #将内容保存文件中。
25 def save_content(url):
26     name,url=find_html(url)
27     for i in xrange(len(url)):
28         try:
29             print u'正在下载:'+str(name[i])
30             f=open(str(name[i])+'.txt','w')
31             url_list='http://www.bookben.com/'+str(url[i])
32             content=search_content(url_list)
33             print dir(content)
34             for x in xrange(len(content)-1):
35                 txt=content[x].string
36                 f.write(txt.encode("gbk",'ignore'))#
37             f.close()
38         except IOError:  
39              print 'open error'+str(name[i])             
40 if __name__=='__main__':
41      url='http://www.bookben.com/read/107_107305/'
42      save_content(url)
python爬去小说--人民的名义

相关文章:

  • 2021-07-19
  • 2022-02-28
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
  • 2021-06-17
猜你喜欢
  • 2022-12-23
  • 2021-09-07
  • 2022-12-23
  • 2021-10-02
  • 2022-01-15
  • 2021-06-24
  • 2021-12-05
相关资源
相似解决方案