提取作者用户名,帖子内容,回复时间

news2024/9/20 18:27:17

import re
import csv

# 打开名为'a1.txt'的文件,并以只读模式('r')读取其内容。这里使用了'UTF-8'编码。  
with open('网页源码a1.txt', 'r', encoding='UTF-8') as f:
    # 读取文件的所有内容并赋值给变量'source'  
    source = f.read()

# 使用正则表达式查找所有匹配'region_header clearfix(.*?)thread_list_bottom clearfix'的字符串,并将结果赋值给变量'every_reply'。  
# 这里使用的是非贪婪匹配,即匹配最少的字符以满足正则表达式。  
every_reply = re.findall('region_header clearfix(.*?)thread_list_bottom clearfix', source, re.S)
# 打印匹配到的结果数量  
print(len(every_reply))

# 遍历每个匹配结果  
for each in every_reply:
    # 在每个匹配结果中查找主题作者的用户名  
    t1 = re.findall('title="主题作者:(.*?)"', each, re.S)
    # 在每个匹配结果中查找帖子的内容  
    t2 = re.findall('threadlist_abs_onlyline ">(.*?)<', each, re.S)
    # 在每个匹配结果中查找回复的时间  
    t3 = re.findall('=2023-(.*?)_', each, re.S)
# 打印找到的主题作者的数量  
print(len(t1))
# 创建一个空列表用于保存提取的信息  
result_list = []
# 遍历每个主题作者的用户名  
for i in range(len(t1)):
    # 创建一个空字典用于保存提取的信息  
    result = {}
    # 如果当前主题作者的帖子存在,则提取帖子的内容并去除其中的换行符  
    if i < len(t2):
        result['username'] = t1[i]
        result['content'] = t2[i].replace('\n            ', '')
        result['reply_time'] = t3[i]
        # 将提取的信息添加到结果列表中  
        result_list.append(result)

    # 打开名为'tieba.csv'的文件,并以写入模式('w')写入数据。这里使用了'UTF-8'编码。
with open('tieba.csv', 'w', encoding='UTF-8') as f:
    # 创建一个CSV写入器,指定字段名为'username', 'content', 'reply_time'  
    writer = csv.DictWriter(f, fieldnames=['username', 'content', 'reply_time'])
    # 写入CSV文件的头部(字段名)  
    writer.writeheader()
    # 将提取的信息写入CSV文件中  
    writer.writerows(result_list)

运行后'tieba.csv'的文件 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1123058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8改进实战 | 更换损失函数之MPDIOU(2023最新IOU)篇

前言 YOLOv8官方默认损失函数采用的是CIoU。本章节主要介绍如何将MPDIoU损失函数应用于目标检测YOLOv8模型。 目录 一、MPDIoU二、代码实现添加损失函数更换损失函数一、MPDIoU 论文链接:MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression MPDIoU是一种基于…

【Tensorflow 2.12 智能商城商品推荐系统】

Tensorflow 2.12 智能商城商品推荐系统 前言架构数据召回排序部署调用结尾 前言 基于 Tensorflow 2.12 搭建一个简单的智能商城商品推荐系统demo~ 主要包含6个部分&#xff0c;首先是简单介绍系统架构&#xff0c;接着是训练数据收集、处理&#xff0c;然后是召回模型、排序模型…

Vue3.3指北(一)

Vue3.3指北 1、Vue32、Vue3安装3、Vue指令3.1、配置准备1.1.1、WebStrom配置模板1.1.2、配置devtools1.1.3、Vue3指令概览 3.2、内容渲染指令3.2.1、mustache语法3.2.2、v-once1.3.2、v-text1.3.3、v-html1.3.4、v-pre1.3.5、v-cloak 3.3、属性绑定指令3.3.1、v-bind1、v-bind绑…

如何查看SSL证书是OV还是DV?

网站的安全性与信任度对于用户来说至关重要&#xff0c;它决定着用户是否继续浏览以及是否与您开展业务。SSL证书则是确保网站能够通过HTTPS加密安全传输数据的基础&#xff0c;可确保网站的安全可信。部署了SSL证书的网站打开后&#xff0c;在浏览器地址栏处会有安全锁标志。而…

02.MySQL函数及约束、多表笔记

函数 函数是指一段可以直接被另一段程序调用的程序或代码。 字符串函数 MySQL中内置了很多字符串函数&#xff0c;常用的几个如下&#xff1a; 函数功能CONCAT(S1,S2,…Sn)字符串拼接&#xff0c;将S1,S2,.Sn拼接成一个字符串LOWER(str)将字符串str全部转为小写UPPER(str)将…

真正的办公神器-ONLYOFFICE你了解多少?

陈老老老板&#x1f934; &#x1f9d9;‍♂️本文专栏&#xff1a;生活&#xff08;主要讲一下自己生活相关的内容&#xff09;生活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f9d9;‍♂️本文简述&#xff1a;最近在进行办公软件的调研工作&#xff0c;发现一个开源、…

Merge Joins(PostgreSQL 14 Internals翻译版)

合并连接处理按连接键排序的数据集&#xff0c;并返回以类似方式排序的结果。输入集可以在索引扫描后预先排序;否则&#xff0c;执行者必须在实际合并开始之前对它们进行排序。 归并排序集 让我们看一个合并连接的例子;它在执行计划中由Merge Join节点表示&#xff1a; 优化器…

效率提升一键完成房产小程序源码揭秘高效业务流程优化

在当今快节奏的房产市场中&#xff0c;提升业务流程的效率对于房地产行业从业者来说至关重要。而房产小程序源码作为一种全新的技术解决方案&#xff0c;为行业带来了前所未有的便利和效益。本文将为您揭秘房产小程序源码的重要性以及如何利用该技术优化业务流程&#xff0c;实…

双态IT乌镇用户大会——数据中心业务连续性国标专题研讨会成功举办

2023年10月13日-15日&#xff0c;由ITSS分会、证券基金行业信息技术应用创新联盟指导&#xff0c;ITSS数据中心运营管理组&#xff08;DCMG&#xff09;、双态IT论坛、智能运维国标工作组主办&#xff0c;ITSS媒体组、AI范儿协办的“2023第六届双态IT乌镇用户大会”于浙江乌镇召…

内衣迷你洗衣机什么牌子好?迷你洗衣机热销第一名

随着人们的生活水平的提升&#xff0c;越来越多小伙伴来开始追求更高的生活水平&#xff0c;一些智能化的小家电就被发明出来&#xff0c;而且内衣洗衣机是其中一个。现在通过内衣裤感染到细菌真的是越来越多&#xff0c;所以我们对内衣裤的清洗频次会高于普通衣服&#xff0c;…

React之render

一、原理 首先&#xff0c;render函数在react中有两种形式&#xff1a; 在类组件中&#xff0c;指的是render方法&#xff1a; class Foo extends React.Component {render() {return <h1> Foo </h1>;} }在函数组件中&#xff0c;指的是函数组件本身&#xff1a…

Ethernet Protocol

以太网协议说明 1 以太网子层架构 1)MAC and MAC CONTROL Sublayer MAC 负责以太网数据格式中所述的以太网成帧协议以及这些帧的错误检测。MAC 独立于并可以连接到任何类型的物理层设备。这提供了 MAC 子层的实时流控制操作。 MAC CONTROL 和 MAC 子层均由内核在所有操作模式…

VScode连接的服务器上使用jupyter显示请选择内核源

问题复现 我实在VScode上用ssh-remote连接的服务器&#xff0c;想用.ipynb文件上写东西&#xff0c;结果窗口上方弹出一个输入框&#xff0c;“请键入以选择内核”&#xff1b; 在扩展里找到jupyter更新一下 之前左边的图标是灰色的&#xff0c;后来我下下载了新的版本&#…

Spring Cloud Sleuth介绍以及简单示例

文章目录 什么是Spring Cloud SleuthSpring Cloud Sleuth的底层使用和实现原理如何使用Spring Cloud Sleuth添加依赖添加配置 注意事项Spring Cloud Sleuth的高级用法采样率设置日志格式设置自定义Trace和Span生成器配置Span收集器 简单实现controller层启动类配置类自定义逻辑…

无氢氟蚀刻剂中钛选择性湿蚀刻铜的研究

引言 众所周知&#xff0c;微尺度和纳米尺度的地形结构对真核细胞和原核细胞的行为都有显著的影响。例如&#xff0c;具有特殊尺寸的纳米线、纳米柱、纳米管已被证明具有抗菌性能。开发这种结构提供了一种无药物的方法来对抗感染&#xff0c;这被认为是一种替代释放抗菌剂的常…

contenteditable实现文本内容确认提示

功能需求&#xff1a; 列表进行批量查询&#xff0c;需要对输入的值做提交校验&#xff0c;分三种情况&#xff1a; 若部分字符串有误&#xff0c;部分字符串需要变更字体颜色做提示&#xff0c;再次点击确认则对部分正确数据执行批量查询 若全部数据有误则变更字体颜色做提示&…

基于OpenCV批量分片高像素影像

基于OpenCV批量分片高像素影像 为了更加精确的诊断和治疗&#xff0c;医疗影像往往是大像素&#xff08;1920x1080&#xff09;或超大像素图像&#xff08;4k图像4096x2160&#xff09;。这类图像的尺寸与深度学习实验数据常见尺寸&#xff08;227x227&#xff0c;或32x32&…

Inbound marketing | LTD入站营销是对Hubspot集客营销的升级

你如何理解Inbound marketing&#xff1f; 你如何理解Inbound marketing。 集客营销抑或是入站营销。 2006年&#xff0c;MIT的在校学生BrianHalligan和DharmeshShah&#xff08;hubspot的创始人&#xff09;首次提出Inbound marketing&#xff0c;有别于推广式营销的一种全…

【已解决】Vue项目中Vite以及Webpack代码混淆处理

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4e2; 资料领取&#xff1a;前端…

触发点击事件,标签高亮显示

文章目录 &#x1f380;前言&#xff1a;&#x1f3e8;技术选型&#xff1a;vue中v-bind、v-for、的使用以及三目表达式操作步骤&#xff1a;标签动态属性响应函数标签样式 &#x1f380;前言&#xff1a; 我们经常在点击菜单时&#xff0c;会有颜色高亮显示(以红色为例)。在点…