有一个包含推特文本数据的字符串列表,例如以下数据(实际上有大量文本,不仅限于这些数据),我想提取推特文本中所有以@开头的用户名和URL链接,例如:galaxy5univ和url链接。
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']
我的代码:
import re
pu = re.compile(r'http\S+')
pn = re.compile(r'@(\S+)')
for row in twitter_text:
text = pu.findall(row)
name = (pn.findall(row))
print("url: ", text)
print("name: ", name)
在大量的推特数据中测试代码后,我发现我的两个模式用于提取URL和名称都是错误的(尽管在一些推特文本数据中是正确的)。你们有没有关于在大量推特数据情况下从推特文本中提取名称和URL的文件或链接?
如果您对从推特数据中提取名称和URL有建议,请告诉我,谢谢!
pn = re.compile(r'@([a-zA-Z0-9_]+)')
- mic4ael@
后面所有非空白字符但不包括:
吗?你可以使用r'@([^\s:]+)'
。 - Wiktor Stribiżew