【问题标题】:How do I filter out tweets containing any URL?如何过滤掉包含任何 URL 的推文?
【发布时间】:2018-10-07 06:05:27
【问题描述】:

我正在使用 tweepy 获取与某个主题标签相关的推文,然后将它们发送到某个黑匣子进行处理。但是,不应发送包含任何 URL 的推文。删除任何此类推文的最合适方法是什么?

【问题讨论】:

  • 最简单的解决方案可能是排除任何包含https://http://www. 的推文。但它显然远非完美。
  • 使用正则表达式删除 URL。

标签: python twitter tweepy


【解决方案1】:

查询时也可以排除带有url的推文:

if 'https:/' not in tweet.text:
    <do something eg. get tweet or in your case: send tweet>

【讨论】:

  • 这没有回答问题。因此,它应该被删除......从审查来到这里
  • 我知道,因此我使用了“也”。我的回答旨在帮助其他来到这里的程序员获得编辑脚本以满足此需求的想法。此外,同样的方法可以用于已经报废的推文,以排除带有 url 的推文!
【解决方案2】:

在您的查询中添加-filter:links。 这将排除包含网址的推文。

【讨论】:

    【解决方案3】:

    按照@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)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 2019-11-18
      • 2011-04-04
      • 2022-06-20
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多