检查Reddit帖子是否为视频

时间:2020-03-22 20:30:55

标签: python-3.x reddit praw

我正在制作一个机器人,该机器人可以从我选择的subreddit下载帖子,但我只想下载照片。我的代码已经确保该帖子不是文字,但是我无法检查视频。如果帖子是视频,则程序应跳过该视频。

到目前为止,这是我的代码:

from InstagramAPI import InstagramAPI
import praw
import requests
import urllib.request
import time
import keyboard
from PIL import Image
import math

#make a reddit acount and look up how to find this stuff. its called PRAW
reddit = praw.Reddit(client_id='***', 
    client_secret='***', 
    username='', 
    password='', 

    user_agent='chrome')


def DLimage(url, filePath, fileName):
    fullPath = filePath + fileName + '.jpg'
    urllib.request.urlretrieve(url, fullPath)


#folder path to store downloaded images
filePath = "/Users/***/AppBot/WTF/"

subreddit = reddit.subreddit('videos') #subreddit to take images from

waitTime = 2 #to prevent reddit badgateway error. DONt change

numRounds = 100 #how many posts

postFrequency = 600 # how often to post in seconds. 

numPics = 100 #how many pics per post

for x in range(numRounds):
    new_memes = subreddit.top('all') #.hot/.rising/.new   reddit sorting algorithm
    authors = []
    photoAlbum = []
    print("Round/post number:", x)
    for subbmission in new_memes:
        if subbmission.preview == True: #checking if post is only text.
            #print("Post was text, skipping to next post.")
            pass
        else:
            continue
        url = subbmission.url
        time.sleep(waitTime)
        fileName = str(subbmission)
        fullPath = filePath + fileName + '.jpg'
        #print(fullPath)
        time.sleep(waitTime)
        #print(url)
        try:
            DLimage(url, filePath, fileName)
        except:
            print("scratch that, next post.")
            continue
        time.sleep(waitTime)

        img = Image.open(fullPath)
        width, height = img.size
        #img = img.resize((1000, 1020), Image.NEAREST) #image resize. width/height
        img = img.convert("RGB")
        img.save(fullPath)
    time.sleep(postFrequency)

0 个答案:

没有答案