Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- reddit = praw.Reddit(user_agent=my_user_agent,
- client_id=my_client_id,
- client_secret=my_client_secret,
- username=my_username,
- password=my_password)
- # In[ ]:
- import sqlalchemy
- from sqlalchemy import create_engine
- from sqlalchemy.orm import sessionmaker
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey, desc, Sequence
- engine = create_engine('postgresql://python:pythonpass@{}/reddit'.format(server_ip), echo = False)
- Base = declarative_base()
- class Post(Base):
- __tablename__ = 'posts'
- post_id_seq = Sequence('post_id_seq')
- id = Column(Integer, post_id_seq, server_default=post_id_seq.next_value())
- title = Column(String)
- url_id = Column(String, primary_key=True, unique=True)
- points = Column(Integer)
- subr = Column(String)
- author = Column(String)
- link = Column(String)
- def __repr__(self):
- return '<Post(title="{}", url_id="{}", points={}, subr ="{}", author="{}")>'.format(
- self.title, self.url_id, self.points, self.subr, self.author, self.link)
- Base.metadata.create_all(engine)
- Session = sessionmaker(bind=engine)
- session = Session()
- # In[ ]:
- def process_submission(submission, session):
- create_time = datetime.datetime.fromtimestamp(submission.created)
- #out = 'Submission titled {}, \n Was submitted by {} at {}'.format(submission.title,
- # submission.author,
- # create_time)
- #print(submission.id)
- session.merge(Post(title= submission.title,
- url_id= submission.id,
- points= submission.score,
- subr= submission.subreddit.display_name,
- author= submission.author.name,
- link= submission.url))
- session.commit()
- print('committed: {} --{}'.format(submission.id, submission.subreddit.display_name))
- # In[ ]:
- print('starting cycle')
- for target_subreddit in cycle(target_subreddits):
- print('Rotating, current target {}'.format(target_subreddit))
- subreddit = reddit.subreddit(target_subreddit)
- for num, submission in enumerate(subreddit.stream.submissions()):
- process_submission(submission, session)
- #print(target_subreddit)
- #print(submission.id)
- if num == 120:
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement