爬取飞卢小说,并计算文本中词语出现的次数

'''打开开发者工具方法:F12(键盘)/fn+f12/ctrl+shift+i'''
import requests
import parsel
import re
import os

url = 'https://b.faloo.com/724903.html'
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
response_1 = requests.get(url=url,headers=headers)
response_1.encoding = response_1.apparent_encoding
select_1 = parsel.Selector(response_1.text)
href_list = select_1.css('.DivTd3 a::attr(href)').getall()
Title = select_1.css('#novelName::text').get()
print(Title)
print(href_list)
filename = f'{Title}\\'

target_words = ['太玄圣地','顾长歌','而且','圣主','圣女']
# 定义一个函数,可以计算文本中词汇出现的个数
def get_counts(text,target_words):
    word_count = {}
    for word in target_words:
        word_count[word] = text.count(word)

    return word_count

if not os.path.exists(filename):
    os.mkdir(filename)
for href in href_list:
    href = 'https:'+href
    headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
    response = requests.get(url=href,headers=headers)
    response.encoding = response.apparent_encoding
    selector = parsel.Selector(response.text)
    title = re.findall('<h1>玄幻:我!天命大反派   (.*?)</h1>',response.text)[0]
    content = '\n'.join(selector.css('.noveContent p ::text').getall())  # 通过join方法,让列表转变为字符串
    result = get_counts(content,target_words)  # 调用定义的计数函数
    print(result)
    with open(filename+title+'.txt',mode='w',encoding='utf-8') as f:
        f.write(content)
    break

结果展示:

{'太玄圣地': 9, '顾长歌': 1, '而且': 3, '圣主': 7, '圣女': 3}

 

计算字符串中词语出现的次数的函数定义:

def count_occurrences(text, target_words):
    # 将文本转换为小写,以便统计时不区分大小写
    text = text.lower()
    # 初始化一个空字典,用于存储每个目标词语的出现次数
    word_count = {}
    # 遍历目标词语列表,统计每个词语的出现次数
    for word in target_words:
        # 使用字符串的 count 方法统计词语出现的次数,并存储到字典中
        word_count[word] = text.count(word)
    return word_count

# 统计目标词语 "老公" 和 "老婆" 在文本中的出现次数
text = "老公,我好想你,老婆,我也是啊,可是明天就要去见另一个老公了,我还没准备好呢老婆?"
target_words = ["老公", "老婆"]
result = count_occurrences(text, target_words)
print(result)

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习各种软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值