怎么利用Python在整个统计年鉴中爬取所需要的词语出现的次数啊
import requests
from bs4 import BeautifulSoup
from collections import Counter
url = '年鉴的地址'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
text = soup.get_text()
words = text.split()
word_counts = Counter(words)
top_words = word_counts.most_common(10)
for word, count in top_words:
print(word, count)
循环统计次数
import time
import datetime
import urllib.request
import requests
import json
from bs4 import BeautifulSoup
import smtplib
from email import (header)
from email.mime import (text, multipart)
首先,你需要使用requests库发送HTTP请求来获取统计年鉴的网页数据,并使用lxml库的xpath方法提取出特定词语出现的次数。
import requests
from lxml import etree
url = "统计年鉴的网址"
response = requests.get(url)
html = response.text
data = etree.HTML(html)
keyword = "特定词语"
count = len(data.xpath(f"//*[contains(text(), '{keyword}')]"))
print(count)
这样就可以得到特定词语在统计年鉴中出现的次数了。
请注意,以上代码只是一个示例,具体的代码实现可能会受到网页结构和数据格式的影响,你需要根据实际情况进行调整和优化。另外,为了避免对网站造成压力过大,建议在爬取数据时遵守网站的爬虫规则,并添加适当的延时和异常处理机制。
问题点: 统计关键词的出现次数
分析:
①对一个全文本进行拆分,可以用jieba库,拆分成一个个关键词
②再使用collections库进行统计各个关键词的出现次数.
import jieba
from collections import Counter
text = "一段文字"
key_word_list = jieba.lcut(text)
# 返回一个字典 各个关键词出现次数 {"我": 99} ‘我’ 出现了99次
word_counts_dict = Counter(key_word_list)