温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么找出某个关键字出现的次数

发布时间:2022-01-17 15:23:58 来源:亿速云 阅读:695 作者:iii 栏目:大数据

今天小编给大家分享一下python怎么找出某个关键字出现的次数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

题目:如何根据URL对应的网页中查找出某个关键字出现的次数,例如 “https://www.ershicimi.com/”  网页中出现 “python”次数是多少?

首先我们对问题进行分解,第一步是想办法拿到网页里面的内容,这个很简单,用requests库就能做到。第二步就是对数据进行清洗,去除html标签提取文本内容,可以使用 BeautifuSoup,也可以用 Requests-html 来解决,Python大法好,轮子多。第三步根据文本中出现的关键字进行统计。

前两步下先忽略,我们重点讨论第三步。

想获取关键字出现的次数有3种方式,具体看你自己的需求,一种就是使用字符串提供的API方法 string.count(),这个最简单,直接返回出现的次数。例如:

>>> "我关注了你,你关注了我".count("关注")
2

不过这种方式有个局限性,如果你想知道关键字出现的位置在哪里,这个实现不了,你需要使用第二种方法,这种方式就是正则表达式,正则可以说是处理字符串最强大的工具没有之一。没有涉及到字符操作,一定不要把正则忽略了。

>>> for m in re.finditer("(关注)", "我关注了你,你关注了我"):
...     print(m.start())
...
1
7

使用 match 对象的start()方法可以知道匹配字符出现的所在位置。这个例子告诉我们关键字出现的位置在第1个和第7个。

如果这还不够,你想知道出现频率最高的单词,如果是英文好说,根据空格将单词分隔再逐个统计,使用 collections.Counter 模块就能实现,但是中文不行,中文词语之间是没有空格的,所以需要用到中文分词工具将句子进行切分。jieba分词是比较常用的。

import jieba
from collections import Counter

def get_words(txt):
   seg_list = jieba.cut(txt)
   c = Counter()
   for x in seg_list:
       if len(x)>1 and x != '\r\n':
           c[x] += 1
   print('词频统计')
   for (k,v) in c.most_common(100):
       print(f'{k}: {v}')

以上就是“python怎么找出某个关键字出现的次数”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI