我正在使用Solr进行搜索.
我的文档具有整数字段" 流行度 ".
我想通过结合正常的全文搜索相关性和流行度来对结果进行排名.
这有点像搜索digg - 结果排名是基于搜索相关性以及发布的挖掘次数.
我没有考虑任何特定的排名算法.但这是可以用solr完成的吗?
我想在我的网站上实现类似的东西.
提交的内容有up_votes和down_votes.我想,reddit会进行某种数据库查询,它会考虑up_votes与total_votes以及可能的视图和注释数量中的因素,并在指定的时间段内限制所有这些因素.
您认为他们用什么类型的查询来确定这个?
谢谢!
有问题的人物是?(U + 0CA0 ;ಠ).这是三个截图:
适用于Mac的Chrome 17

Firefox 7 for Mac

Firefox> 4 for Windows

我尝试的所有浏览器都使用UTF-8作为编码.这里是复制粘贴的?_?,但我不知道你是怎么看到它的.
我正在尝试编写一个简单的reddit机器人,它将进入一个subreddit,进入提交,阅读评论,如果评论说'感觉'它会发布一个感觉GIF.我收到此错误:'TypeError:类型'Comment'的参数在尝试在评论中执行has_feels ='feel'时是不可迭代的.
我的代码:
import praw
import time
r = praw.Reddit('Posts Feels gif in response to someone saying feels'
'by: Mjone77')
r.login('Feels_Bot', 'notrealpassword')
already_done = []
feels = ['feels']
while True:
subreddit = r.get_subreddit('bottest')
for submission in subreddit.get_new(limit=10):
#submission = next(submissions)
commentNum = 0
for comment in submission.comments:
print(comment)
print(comment.id)
has_feels = 'feels' in comment
if comment.id not in already_done and has_feels:
#comment.reply('[Relevant](http://i.imgur.com/pXBrf.gif)')
already_done.append(comment.id)
print('Commented')
time.sleep(1800)
Run Code Online (Sandbox Code Playgroud)
错误报告(前两行是代码的打印输出,直到它中断):
The feels are strong
ciafpqn
Traceback (most recent call last):
File "C:\Users\Me\Desktop\My Programs\Feels Bot\Feels …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试开发一个将游戏日线程发布到 /r/KontinentalHL subreddit 的机器人,但是每当我尝试登录时,我都会收到以下错误:
Traceback (most recent call last):
File "startBot.py", line 12, in <module>
r.login(Username,Password)
File "C:\Python33\lib\site-packages\praw\__init__.py", line 1230, in login
self.request_json(self.config['login'], data=data)
File "C:\Python33\lib\site-packages\praw\decorators.py", line 161, in wrapped
return_value = function(reddit_session, *args, **kwargs)
File "C:\Python33\lib\site-packages\praw\__init__.py", line 510, in request_json
response = self._request(url, params, data)
File "C:\Python33\lib\site-packages\praw\__init__.py", line 375, in _request
_raise_response_exceptions(response)
File "C:\Python33\lib\site-packages\praw\internal.py", line 172, in _raise_response_exceptions
response.raise_for_status()
File "C:\Python33\lib\site-packages\requests\models.py", line 808, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden
Run Code Online (Sandbox Code Playgroud)
我确定我的登录详细信息是正确的,我很困惑!我可能是个白痴,但有什么帮助吗?此外,当我尝试不带参数的 r.login() 时,程序会在我输入用户名后冻结!
我试图使用前一次调用的值对Reddit的API进行递归的http调用.问题是前一个呼叫在下一个呼叫开始之前没有完成,因此正在进行重复呼叫.应该为每个调用更新"after"值,直到"after"值未定义.我找到了这个相关的帖子,并试图使用所描述的解决方案,但我无法弄清楚如何在下次通话之前确保之前的通话已完成.以下是我的实际代码:
private getSavedPostsForAuthenticatedUser(username: string, after: string, userPosts: any) {
const headers = new Headers();
if (!userPosts) {
userPosts = [];
}
headers.append('Authorization', `Bearer ${this._token}`);
const redditUrl = `${RetainerConfig.redditOauthUrl}user/${username}/saved`;
const url = after ? `${redditUrl}/?after=${after}` : redditUrl;
return this._http.get(url, { headers: headers })
.map(response => response.json())
.expand(response => {
if (response.data) {
for (const post of response.data.children) {
userPosts.push(post);
}
if (response.data.after) {
return this.getSavedPostsForAuthenticatedUser(username, response.data.after, userPosts);
}
}
return Observable.of(userPosts);
});
Run Code Online (Sandbox Code Playgroud) 我希望脚本列出从 Reddit 中获取的新闻标题,并将它们显示为文本输出。然而,似乎返回函数阻止我这样做,因为它只列出一个标题。
from flask import Flask
import praw
import config
app = Flask(__name__)
@app.route('/')
def index():
reddit = praw.Reddit(client_id=config.client_id, client_secret=config.client_secret, user_agent="...")
for submission in reddit.subreddit('worldnews').controversial(limit=10):
print(submission.title)
return(submission.title)
if __name__ == "__main__":
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud) 我尝试使用 praw.reddit 命令抓取 Reddit,但我不断收到以下信息:
prawcore.exceptions.OAuthException: unauthorized_client error processing
request (Only script apps may use password auth)
Run Code Online (Sandbox Code Playgroud)
这是我的代码的顶部:(我删除了敏感项目)
import praw
import pandas as pd
import datetime as dt
reddit = praw.Reddit(client_id='zlpcoz08aNK8Bw', \
client_secret='', \
user_agent='comment_scraper 1.0 by /u/bullybear77777',
\
username='', \
password='')
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我的 user_agent ID?我在网上查了一下,发现这似乎是结构,但我不确定。如有任何帮助,我们将不胜感激
我可以使用下面的代码获取某一天的帖子.有没有什么办法可以把它改成有史以来最好的帖子呢?
import praw
user_agent = "Comment Reader 1.0 by /u/crowbell"
r = praw.Reddit(user_agent=user_agent)
submissions = r.get_subreddit('askreddit').get_top(limit=5)
for x in submissions:
print str(x)
Run Code Online (Sandbox Code Playgroud) 因此,我正在制作一个应用程序,以便更多地了解JSON(使用GSON)并决定使用reddit浏览应用程序.我目前能够通过使用" http://www.reddit.com/.json " 获取JSON数据,这将获得前25个帖子的JSON.我试图通过使用获取下一个帖子的信息
" http://www.reddit.com/.json?count=25&after="+ name_of_last_post
name_of_last_post是我的GSON中最后一篇文章的名称字段.然而这只是再次显示第一页的帖子,其编号从25开始,我得到编号从25开始,因为count设置为25.我要问的是我可以创建的字符串的格式是什么下一组JSON项目.您可以通过访问reddit.com/.json并将其转换为json编辑器并将其格式化,而不是转到reddit的下一页并在?count = 25&after =之前添加.json,您可以尝试这样做.在=之后的文本似乎没有出现在任何地方的第一个JSON文件上.如果这个问题的任何部分仍然不清楚,请发表评论,我稍后会检查.谢谢,祝你有个美好的一天.