Python使用regex提取twitter文本数据中的@user和url链接

2024-10-01 15:38:03 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个列表字符串twitter文本数据,例如下面的数据(实际上,有大量的文本,不仅仅是这些数据),我想提取twitter文本中@和url链接之后的所有用户名,例如:galaxy5univ和url link。在

   tweet_text = ['@galaxy5univ I like you',
    'RT @BestOfGalaxies: Let's sit under the stars ...',
    '@jonghyun__bot .........((thanks)',
    'RT @yosizo: thanks.ddddd <https://yahoo.com>',
    'RT @LDH_3_yui: #fam, ccccc https://msn.news.com']

我的代码:

^{pr2}$

通过在大量twitter数据中测试代码,我发现url和name的两个模式都是错误的(尽管在一些twitter文本数据中是正确的)。你们有没有一些文档或链接,关于从twitter文本中提取名称和url,以防出现大量twitter数据。在

如果你有关于从twitter数据中提取名字和url的建议,请告诉我,谢谢!在


Tags: 数据字符串https文本comurl列表链接
2条回答

请注意,pn = re.compile(r'@(\S+)')正则表达式将捕获@之后的任何1+个非空白字符。在

要排除匹配的:,需要将速记\S类转换为[^\s]非字符类等价物,并向其添加:

pn = re.compile(r'@([^\s:]+)')

现在,它将停止捕获第一个:之前的非空白符号。请参见regex demo。在

如果您需要捕获到最后一个:,您可以在捕获组之后添加::pn = re.compile(r'@(\S+):')。在

对于匹配regex的URL,有many on the Webjust choose最适合您。在

这是一个example code

^{pr2}$

如果用户名不包含特殊字符,则可以使用:

@([\w]+)

Live demo

相关问题 更多 >

    热门问题