Python爬取十篇新闻统计TF-IDF

Python爬取十篇新闻统计TF-IDF

本攻略将介绍如何使用Python爬虫爬取十篇新闻,并使用TF-IDF算法统计关键词。我们将使用requests库发送HTTP请求,并使用jieba库进行中文分词,使用sklearn库计算TF-IDF值。

安装所需库

在开始前,我们需要安装requests、jieba和sklearn库。我们可以使用以下命令在命令行中安装这些库:

pip install requests
pip install jieba
pip install sklearn

爬取新闻

我们将使用requests库爬取十篇新闻。以下是一个示例代码,用于爬取新闻:

import requests
from bs4 import BeautifulSoup

urls = [
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml',
    'https://news.sina.com.cn/c/2021-11-01/doc-iktzscyy1912389.shtml'
]

for url in urls:
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    content = soup.select_one('.article').text.strip()
    print(content)

在上面的代码中,我们使用requests库的get方法发送HTTP GET请求,并使用BeautifulSoup库解析HTML响应。我们使用select_one方法选择了新闻正文元素,并使用text属性获取了它的文本内容。

示例1:中文分词

以下是一个示例代码,用于中文分词:

import jieba

text = '今天是个好日子,天气也很好。'
words = jieba.cut(text)
print(list(words))

在上面的代码中,我们使用jieba库的cut方法进行中文分词,并使用list方法将分词结果转换为列表,并使用print方法输出了分词结果。

示例2:计算TF-IDF值

以下是一个示例代码,用于计算TF-IDF值:

from sklearn.feature_extraction.text import TfidfVectorizer

corpus = [
    '今天是个好日子,天气也很好。',
    '明天也是个好日子,天气也很好。',
    '今天天气不好,明天天气也不好。',
    '今天是个好日子,明天天气不好。',
    '今天天气不好,明天是个好日子。'
]

vectorizer = TfidfVectorizer()
tfidf = vectorizer.fit_transform(corpus)
words = vectorizer.get_feature_names()
for i in range(len(corpus)):
    print(f'第{i+1}篇文章的关键词:')
    for j in tfidf[i].indices:
        print(f'{words[j]}: {tfidf[i,j]}')

在上面的代码中,我们使用sklearn库的TfidfVectorizer类计算了TF-IDF值,并使用get_feature_names方法获取了所有关键词,并使用for循环遍历了所有文章的关键词,并使用print方法输出了关键词和对应的TF-IDF值。

总结

本攻略介绍了如何使用Python爬虫爬取十篇新闻,并使用TF-IDF算法统计关键词。我们使用requests库发送HTTP请求,并使用jieba库进行中文分词,使用sklearn库计算TF-IDF值。我们提供了两个示例,分别用于中文分词和计算TF-IDF值。这些技巧可以帮助我们更好地处理中文文本数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬取十篇新闻统计TF-IDF - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • python 数据提取及拆分的实现代码

    Python数据提取及拆分实现代码的攻略如下: 1. 导入所需库 首先需要导入所需的Python库,常用的有re、pandas等。 import re import pandas as pd 2. 读取数据 使用pandas库中的read_csv()方法读取数据,并将数据存储到DataFrame中。 df = pd.read_csv(‘data.csv’) …

    python 2023年6月3日
    00
  • Python 实现list,tuple,str和dict之间的相互转换

    要实现Python中list、tuple、str和dict之间的相互转换,可以使用以下几个Python提供的方法: list和tuple相互转换: 将list转换为tuple:使用tuple()方法即可。 将tuple转换为list:使用list()方法即可。 以下示例代码演示了list和tuple之间的相互转换: # 将list转换为tuple list1…

    python 2023年5月14日
    00
  • Python 日志管理模块Loguru的用法小结

    一、Loguru是什么?Loguru是一个Python日志管理模块,方便易用,支持多线程环境下的日志记录。它提供了直观的界面,让您对日志进行高度的自定义,支持级别、回滚、异步记录和可自定义格式输出等功能。 二、安装Loguru模块通过pip安装: pip install loguru 三、Loguru的应用举例假设我们希望记录一个操作日志,并将日志分成不同级…

    python 2023年6月3日
    00
  • 如何使用Python进行图像处理?

    要使用Python进行图像处理,我们可以使用一些流行的Python库,例如Pillow、OpenCV和Scikit-image等。下面是一个基本的步骤指南: 安装所需的库:Pillow、OpenCV、Scikit-image等。 加载图像:我们可以使用Python的库将图像加载为NumPy数组。例如,Pillow库中的Image模块允许我们从文件中加载图片并…

    python 2023年4月19日
    00
  • windows中python实现自动化部署

    为了演示在Windows中使用Python实现自动化部署的完整攻略,我们需要先了解以下内容: Python的虚拟环境: 多个Python项目之间需要库的版本不同,使用虚拟环境可以隔离项目间的依赖,避免相互干扰。 Python的包管理工具: 程序需要依赖第三方库,需要使用包管理工具来下载和安装相应的依赖库。 Python的自动化部署工具:本文将以Fabric库…

    python 2023年5月19日
    00
  • Python ftfy 包的使用案例解析

    Python ftfy 包的使用案例解析 1. 什么是 ftfy 包? Python ftfy ( Fix Text For You )包是一个处理 Unicode 文本的 Python 库。它可以自动修复文本中的各种 Unicode 错误,并将其转换为更可读的形式,使文本更易于理解、处理和存储。 2. ftfy 库的安装 要安装 ftfy 库,可以使用 p…

    python 2023年5月20日
    00
  • 如何使用Python从数据库中导出数据到CSV文件?

    以下是如何使用Python从数据库中导出数据到CSV文件的完整使用攻略,包括连接数据库、查询数据、将数据写入CSV文件等步骤。同时,提供两个示例以便更好理解如何使用Python从数据库中导出数据到CSV文件。 步骤1:连接数据库 在Python中,我们可以使用pymysql模块连接到MySQL数据库。以下是连接MySQL数据库的基本语法: import py…

    python 2023年5月12日
    00
  • 如何使用Python在MySQL中使用交叉查询?

    当需要从多个表中检索数据时,可以使用交叉查询将多个表中的所有行组合成单个结果集。在Python中,可以使用MySQL连接来执行交叉查询。以下是在Python中使用交叉查询的完整攻略,包括交叉的基本语法、使用交查询的示例以及如何在Python中使用交叉查询。 交叉查询的基本语法 交查询的基本语法如下: SELECT column_name(s) FROM ta…

    python 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部