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将mysql数据库的数据转换为json数据的方法

    将MySQL数据库的数据转换为JSON数据可以通过Python标准库中的json模块进行实现。 步骤一:连接MySQL 使用Python的mysql.connector模块来连接MySQL数据库,确保已安装该模块。以下是连接MySQL数据库的示例代码: import mysql.connector db = mysql.connector.connect( …

    python 2023年5月13日
    00
  • python 通过可变参数计算n个数的乘积方法

    当传入的参数数量不确定时,可使用可变参数,例如计算 n 个数的乘积。在 Python 中,使用可变参数可以通过在形参前加 * 来实现,例如 *args 表示任意多个无名参数。 以下是计算 n 个数的乘积的 Python 函数代码: def product(*args): """ 计算 n 个数的乘积 :param args: 任…

    python 2023年6月5日
    00
  • python定时任务 sched模块用法实例

    下面是关于“Python定时任务 sched模块用法实例”的完整攻略。 示例说明 在介绍 sched模块用法实例前,我们先来看两个示例说明,以加深对 sched模块的理解。 示例一:每 10 秒后输出一句话 import sched import time s = sched.scheduler(time.time, time.sleep) def prin…

    python 2023年6月2日
    00
  • Python数据类型和常用操作

    下面是关于“Python数据类型和常用操作”的完整攻略。 数据类型 Python中常用的数据类型有: 整数(int) 浮点数(float) 字符串(str) 列表(list) 元组(tuple) 字典(dict) 布尔值(bool) 集合(set) 其中,整数、浮点数和字符串是比较基础的数据类型,后面的类型可以看作是对这些基础类型进行进一步的封装和组合。 常…

    python 2023年5月13日
    00
  • python sys模块sys.path使用方法示例

    下面就详细讲解“python sys模块sys.path使用方法示例”的完整攻略。 什么是sys.path? 在Python中,我们常常需要引用自己编写的模块或第三方库,这时我们就需要将模块所在的路径添加到系统的搜索路径中,以便引用模块。这时,我们就需要用到sys模块中的sys.path。 sys.path是一个列表,可以通过该列表中的路径来查找Python…

    python 2023年6月2日
    00
  • 使用Python编写一个模仿CPU工作的程序

    下面是使用Python编写一个模仿CPU工作的程序的完整攻略。 1. 确定任务 首先我们需要明确我们需要编写的程序需要模拟什么样的CPU工作。在这个程序中,我们可以考虑使用Python代码生成一组简单的随机数,并编写一个排序算法,模拟CPU对这组随机数进行排序的过程。 2. 编写代码 接下来,我们可以按照以下步骤编写代码: 2.1 生成随机数 使用Pytho…

    python 2023年5月30日
    00
  • 浅谈Django前端后端值传递问题

    浅谈Django前后端值传递问题 前言 Django是一个高效的、高度可定制的开源Web框架,它的MVC设计模式被广泛应用于Web开发中。在初学Django的过程中,前后端值的传递会成为必须掌握的基础知识。在本文中,我们将详细讨论Django中前后端值的传递问题。 GET与POST方法 在Django中,与前后端值的传递密切相关的是HTTP请求中的GET方法…

    python 2023年6月3日
    00
  • Python 转义字符详细介绍

    下面是关于Python转义字符的详细介绍。 什么是转义字符? 在Python(和许多其他编程语言)中,有些字符是有特殊含义的。例如,在字符串中使用双引号(”)作为开头和结尾,但如果你想在字符串中包含双引号,则会导致语法错误。在这种情况下,需要使用转义字符。转义字符是用于指示编译器将特殊字符解释为字符串中的字面值的字符序列。在Python中,转义字符以反斜杠(…

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