首页 > 编程语言 >网络热词分析一(用python爬取数据)

网络热词分析一(用python爬取数据)

时间:2024-09-06 19:13:35浏览次数:3  
标签:title 热词 explanation element 爬取 python time article page

import csv
import requests
from bs4 import BeautifulSoup

def fetch_page_data(page_number):
    base_url = 'https://regengbaike.com/'
    load_more_url_template = base_url + '?page={}'
    url = load_more_url_template.format(page_number)

    try:
        response = requests.get(url)
        response.raise_for_status()  # 检查请求是否成功
        return response.content
    except requests.RequestException as e:
        print(f"请求出错: {e}")
        return None

def parse_article(article):
    # 尝试匹配两种不同的类名
    title_element = article.find('h2', {'class': ['article-title pl-3', 'article-title mb-3 pl-3']})
    title = title_element.a.text.strip() if title_element and title_element.a else ''

    explanation_element = article.find('div', {'article-text': True})
    explanation = explanation_element.p.text.strip() if explanation_element and explanation_element.p else ''

    publish_time_element = article.find('time', {'itemprop': 'pubDate'})
    publish_time = publish_time_element.text.strip() if publish_time_element else ''

    return title, explanation, publish_time

def main():
    total_pages = 175
    output_file = 'output.txt'  # 更改输出文件为TXT

    with open(output_file, mode='w', encoding='utf-8') as file:
        for page in range(1, total_pages + 1):
            content = fetch_page_data(page)
            if content:
                soup = BeautifulSoup(content, 'html.parser')
                articles = soup.find_all('article', {'class': 'article-item'})

                for article in articles:
                    title, explanation, publish_time = parse_article(article)

                    if title or explanation or publish_time:
                        # 写入数据行,使用'|'作为分隔符
                        itemm = f'{title}|{explanation}|{publish_time}'
                        with open("output.txt", 'a', encoding='utf-8') as fp:
                            fp.write(itemm + '\n')
                    else:
                        print(f'未找到有效数据 (Page {page}, Article)')

                print(f"第 {page} 页数据读取完成")
            else:
                print(f"第 {page} 页数据获取失败")

    print("所有页面数据已抓取完毕。")

if __name__ == '__main__':
    main()

  爬取输出为一个txt文件,将txt文件内容复制到excel中,进行数据分列,再将文本类型改为csv类型

 

标签:title,热词,explanation,element,爬取,python,time,article,page
From: https://www.cnblogs.com/youxiandechilun/p/18400848

相关文章

  • Ubuntu系统Docker中使用Anaconda环境运行Python项目方法
    宝藏网站:菜鸟教程-学的不仅是技术,更是梦想!安装Anaconda的镜像我是直接拉取的Anaconda的镜像,我不会dockerfile自己构建镜像。以下终端命令查找Anaconda的官方的一些镜像,拉取自己是想要的镜像。dockersearchanaconda#拉取镜像命令dockerpull(镜像名字)#查看Docker......
  • 2024.9.6 Python,华为笔试题总结,字符串格式化,字符串操作,广度优先搜索解决公司组织绩效
    1.字符串格式化name="Alice"age=30formatted_string="Name:{},Age:{}".format(name,age)print(formatted_string)或者name="Alice"age=30formatted_string=f"Name:{name},Age:{age}"print(formatted_string)2......
  • python+flask计算机毕业设计电影推荐网站(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络娱乐已成为人们日常生活中不可或缺的一部分,其中在线观影因其便捷性、丰富性而备受欢迎。然而,面对海量的电影......
  • python+flask计算机毕业设计购药管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗行业的快速发展与人们对健康需求的日益增长,药品市场呈现出种类繁多、交易量大的特点。传统的手工购药管理方式已难以满足现代药店......
  • python+flask计算机毕业设计基于的第二课堂选课系统的设计与实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着教育信息化的不断深入,高校教育管理模式正经历着深刻的变革。传统的第一课堂教学已难以满足学生多元化、个性化的学习需求,第二课堂作为......
  • python测试开发基础---threading
    1.核心概念线程(Thread):线程是轻量级的进程,在同一进程内可以并行执行多个任务。线程共享进程的资源,如内存和文件描述符,但每个线程有自己的执行栈和局部变量。全局解释器锁(GIL):Python中的GIL限制了同一进程中多个线程的真正并行执行。它确保同一时间只有一个线程可以执行Pyth......
  • python测试开发基础---multiprocessing.Pool
    1.基础概念多进程编程:Python中的multiprocessing模块允许你使用多个进程并行执行任务,这可以提高程序的性能,尤其是在需要大量计算的情况下。Pool类是一个常用工具,可以帮助你更轻松地管理多个进程。进程池:进程池是一个包含多个工作进程的池子,用来处理多个任务。你可以将任......
  • 最好用的Python IDE,PyCharm保姆级安装教程
    简介由于Python语法简单容易入门,并且Python在办公自动化等领域的功能非常强大,所以现在越来越多非IT行业的人也开始学起了Python,要学习和使用一门编程语言,一个好用的IDE是必不可少的,而对于Python来说,最好的IDE无疑是Pycharm。本文就给大家介绍一下如何从零到一来安装Pychar......
  • Python贝叶斯卷积神经网络BCNN分类胸部X光图像数据集实例
    全文链接:https://tecdat.cn/?p=37604原文出处:拓端数据部落公众号分析师:YuanchunNiu在人工智能的诸多领域中,分类技术扮演着核心角色,其应用广泛而深远。无论是在金融风险评估、医疗诊断、安全监控还是日常的交互式服务中,有效的分类算法都是实现智能决策的关键。随着大数据时代的......
  • 【Python学习笔记】第3章 你应如何运行程序
    这一章主要讲:如何启动Python程序、如何交互地输入代码、代码的各种运行方式。交互式命令行模式开始一个交互式会话在终端中,输入python:我们就开启了会话。结束会话按Ctrl+Z:系统路径如果我们要在终端中,输入python就可以启动,那么就需要设置环境变量PATH使其包含安装的python......