【问题标题】:Searching for reddit comment containing any word from list PSAW python搜索包含列表 PSAW python 中任何单词的 reddit 评论
【发布时间】:2019-09-20 11:01:05
【问题描述】:

您好,我正在使用 PSAWPRAW 获取 reddit cmets。

这里是搜索代码:

gen = api.search_comments(subreddit="subreddit1, subreddit2", q="word1, word2")

此代码检查 subreddit1 和 2 中的 cmets,但会查找同时包含 word1 和 word2 的 cmets。我怎样才能让它搜索包含 word1 或 word2 或两者的 cmets?

谢谢(如果您需要更多信息,请告诉我)

【问题讨论】:

    标签: python reddit


    【解决方案1】:

    简短的回答是,您无法一步完成您的要求,至少在我所见的范围内是这样。但您当然可以分多个步骤来完成。

    # to search for either word1 or word 2, use |
    gen1 = api.search_comments(subreddit="subreddit1, subreddit2", q="word1|word2")
    
    # to search for both word1 and word 2, use &
    gen2 = api.search_comments(subreddit="subreddit1, subreddit2", q="word1&word2")
    

    仅供参考 - 在 PSAW 中搜索 cmets 本质上是一个包装器

    api.pushshift.io/reddit/comment/search?q=...
    

    对于您的问题,您可以使用该网站来更好地了解它将返回什么。 API 并不完美,即使您使用 |,您仍然会得到一些包含两个单词的 cmets,即使您使用 &,您仍然会得到一些仅包含一个单词的 cmets,但是这些运算符占了大部分肩上的工作。

    【讨论】:

    • 当我执行 gen = api.search_cmets 时,它会覆盖之前的搜索吗?
    • 如果我正确理解您的问题,那么是的,绝对。如果您要完全按照所写的方式运行我的示例代码,那就是这种情况,很抱歉造成混淆。作为使用变量编程的基本方面之一,每次您将一些结果分配给变量gen 时,它都会覆盖之前存储到gen 的内容。您可以通过将gen 设为列表并将append 设为您的结果,或者使用多个变量(如gen1gen2gen3 等)轻松解决此问题。我已经改变了我的在上面发布以使用第二个选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2014-03-02
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多