【发布时间】:2018-10-07 06:05:27
【问题描述】:
我正在使用 tweepy 获取与某个主题标签相关的推文,然后将它们发送到某个黑匣子进行处理。但是,不应发送包含任何 URL 的推文。删除任何此类推文的最合适方法是什么?
【问题讨论】:
-
最简单的解决方案可能是排除任何包含
https://、http://和www.的推文。但它显然远非完美。 -
使用正则表达式删除 URL。
我正在使用 tweepy 获取与某个主题标签相关的推文,然后将它们发送到某个黑匣子进行处理。但是,不应发送包含任何 URL 的推文。删除任何此类推文的最合适方法是什么?
【问题讨论】:
https://、http:// 和www. 的推文。但它显然远非完美。
查询时也可以排除带有url的推文:
if 'https:/' not in tweet.text:
<do something eg. get tweet or in your case: send tweet>
【讨论】:
在您的查询中添加-filter:links。
这将排除包含网址的推文。
【讨论】:
按照@Colin 的建议,this question 涵盖了使用正则表达式查找网址的问题。
示例代码 sn-p 将是;
import re
// tweet_list is a list containing string you with to clean of urls
pattern = 'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+'
filtered_tweet_list = [tweet for tweet in tweet_list if not re.findall(pattern, tweet)]
【讨论】: