def top_submission(sname): subreddit = reddit.subreddit(sname) top_submissions = subreddit.top(limit=5) # for submission in top_posts: # print(submission.title) topics_dict = { "sublist": []} for submission in top_submissions: obj_dict = { "title": submission.title, "upvotes": submission.score} topics_dict["sublist"].append(obj_dict) for submission in top_submissions: top_level_comments = list(submission.comments) # for comment in top_level_comments: # print(comment) # for i in range(0,min(len(top_level_comments), 5)): # if isinstance(top_level_comments[i], MoreComments): # continue # topics_dict["popular"].append(top_level_comments[i].body) # topics_dict["likes"].append(top_level_comments[i].score) return topics_dict
def scrap_func(sname): subreddit = reddit.subreddit(sname) hot_subreddit = subreddit.top(limit=1) topics_dict = { "likes": [], \ "popular": []} for submission in hot_subreddit: top_level_comments = list(submission.comments) for top_level_comment in top_level_comments: if isinstance(top_level_comment, MoreComments): continue topics_dict["popular"].append(top_level_comment.body) topics_dict["likes"].append(top_level_comment.score) # all_comments = submission.comments.list() # for comment in all_comments: # topics_dict["all"].append(comment.body) topics_data = pd.DataFrame(data=topics_dict) # def get_date(created): # return dt.datetime.fromtimestamp(created) # # timestamp = topics_data["created"].apply(get_date) # topics_data = topics_data.assign(timestamp = timestamp) topics_data.to_csv('data.csv', index=False)
comments = [] users = set() subreddits = ( # 'Invites', Done 'OpenSignups', # 'seedboxes', # 'torrents', # 'trackers', ) # В каждом сабреддите отбираем N (limit=) новых записей # Сохраняем имя автора и id комментария for item in subreddits: for item in reddit.subreddit(item).new(limit=None): if item.author is None: pass else: comments.append(item.id) users.add(item.author.name) # Получаем из комментария имя пользователя for item in comments: submission = reddit.submission(id=item) submission.comments.replace_more(limit=None) for item in submission.comments.list(): if item.author is None: pass else: users.add(item.author.name)
os.system(""" osascript -e 'display notification "{}" with title "{}"' """.format(text, title)) start = time.time() ok = [] subm_count = 0 com_count = 0 prohibited_chars = ['&', 'https', '\\'] SUBREDDIT_NAME = "" FILE_PATH = r"" print() for count, submission in enumerate(reddit.subreddit(SUBREDDIT_NAME).top( time_filter='month', limit=None), start=1): # hour day week month year all # if count>200: # # for getting posts more than a year old # if datetime.now().year - (datetime.fromtimestamp(time.time() - submission.created_utc)).year <= 1: # continue # for submission titles with open(FILE_PATH, 'a') as f: f.write(submission.title) f.write('\n') print(submission.id) print(submission.title) print(f'Total submissions checked: {subm_count}\n') subm_count += 1
username=reddit['login'], password=reddit['password']) ignore = set() subreddits = ( # 'Invites', https://www.reddithelp.com/hc/en-us/articles/360049499032 'OpenSignups', 'seedboxes', 'torrents', 'trackers', ) # Модераторы сабреддитов for item in subreddits: for item in reddit.subreddit(item).moderator(): ignore.add(item.name) # С кем у нас была переписка for item in reddit.inbox.sent(limit=None): ignore.add(item.dest.name) users_db = sqlite3.connect('users.db') exceptions_many = ['NOT_WHITELISTED_BY_USER_MESSAGE', 'INVALID_USER'] while True: user_id = list( users_db.execute( f"select id from reddit where send is Null limit 1;"))[0][0] if user_id not in ignore:
from credentials import reddit for submission in reddit.subreddit('nosleep').hot(limit=10): print(submission.title, [comment.body for comment in submission.comments])
import praw import OAuth2Util import urllib.request from credentials import reddit subreddit = reddit.subreddit('dankmemes') for submission in subreddit.hot(limit=100): link = submission.url title = submission.title title = title.replace(" ", "_") title = title.replace("/", "-") title = "".join(["downloads/", title, ".jpg"]) urllib.request.urlretrieve(link, title)