Advertisement
Guest User

Untitled

a guest
Jan 27th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. import praw
  2. import csv
  3. import datetime
  4.  
  5. username = ""
  6. password = ""
  7. clientid = ""
  8. clientsecret = ""
  9.  
  10. reddit = praw.Reddit(client_id=clientid,
  11. client_secret=clientsecret,
  12. password=password,
  13. user_agent='Reddit search data extractor by /u/' + username + '',
  14. username=username)
  15.  
  16. print("Authentication for " + str(reddit.user.me()) + " is verified. Proceeding.\r\n")
  17.  
  18. outfilename = input("Enter a CSV filename to output the data to (e.g., reddit-data.csv)\r\n")
  19. search = input("Enter a search (e.g., 'how do you') or multiple searches delimited with commas:\r\n")
  20. filtersub = input("Do you want to restrict to a certain subreddit? Enter 'Yes' or 'No'.\r\n")
  21.  
  22. search_list = search.split(',')
  23.  
  24. if(filtersub.lower()=="yes"):
  25. subreddit = input("Enter the subreddit names delimited with commas (i.e., BigSEO):\r\n")
  26. subreddit_list = subreddit.split(',')
  27. file = open(outfilename, "w+", newline="\n", encoding="utf-8")
  28. f = csv.writer(file)
  29. f.writerow(["Number","Keyword","Title","Text","Score","Comments","URL","Domain","Permalink","ID","Subreddit","CreatedDate"])
  30. for subs in subreddit_list:
  31. for search in search_list:
  32. startNum = 0
  33. for submission in reddit.subreddit(subs.strip()).search(search):
  34. startNum += 1
  35. posttime = submission.created
  36. f.writerow([startNum, search.strip(), submission.title, submission.selftext,
  37. submission.score, submission.num_comments,
  38. submission.url, submission.domain, submission.permalink, submission.id,
  39. submission.subreddit, datetime.datetime.utcfromtimestamp(posttime).strftime('%m-%d-%Y')])
  40. print("Writing out posts results for the search '" + search.strip() + "' in 'r/" + subs.strip() + "'\r\n")
  41. file.close
  42. else:
  43. file = open(outfilename, "w+", newline="\n", encoding="utf-8")
  44. f = csv.writer(file)
  45. f.writerow(["Number","Keyword","Title","Text","Score","Comments","URL","Domain","Permalink","ID","Subreddit","CreatedDate"])
  46. for search in search_list:
  47. startNum = 0
  48. for submission in reddit.subreddit('all').search(search.lower()):
  49. startNum += 1
  50. posttime = submission.created
  51. f.writerow([startNum, search.strip(), submission.title, submission.selftext,
  52. submission.score, submission.num_comments,
  53. submission.url, submission.domain, submission.permalink, submission.id,
  54. submission.subreddit, datetime.datetime.utcfromtimestamp(posttime).strftime('%m-%d-%Y')])
  55. print("Writing out posts results for the search '" + search.strip() + "' in 'r/all'\r\n")
  56. file.close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement