首页 > 解决方案 > 哪些模式/规则用于搜索推文?

问题描述

TL;DR twitter 使用什么规则来确定一条推文是否匹配某个查询,以及如何复制这些规则?

您好,我正在使用 Twitter API(v1 和 v2,长篇大论)开发用于研究目的的学术工具。

我需要能够知道给定的字符串是否与 twitter 查询匹配。一个简单的正则表达式关键字匹配是行不通的,因为我的理解是它们被标记化,以便查找Pied Piper可以返回#PiedPiper, @piedpiper_official, Pied Piper,#pied piper等。

我认为这个问题需要更深入地理解搜索是如何“在幕后”工作的(不是如何使用 API,而是理解 twitter 用来确定查询返回哪些推文的匹配过程和规则)。经过几天的研究,我什么也没发现。

如果您知道任何细节,请告诉我。尽管它们看起来很小,但它们可以提供很多帮助。

标签: twitter

解决方案


连接标记,小写,然后匹配。

#! /usr/bin/env python3
import re  ##  docs.python.org/3/howto/regex.html

##  only grab AlphaNumeric chars, skip # @ and whitespace
tokens = re .findall( '\w+', 'Pied Piper' )

print( tokens )

['Pied','吹笛者']

##  concatenate & lowercase
lowercase = '' .join( tokens ) .lower()

##  www.w3schools.com/python/ref_string_join.asp
print( lowercase )

风笛手


推荐阅读