Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
    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
Esempio n. 5
0
                     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:
Esempio n. 6
0
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)