Python Bot使用PRAW开始返回错误"收到403 HTTP响应"

时间:2017-11-20 01:09:24

标签: python-3.x tweepy praw

我正在写一个推特机器人应该在reddits r / dankmemes的热门帖子中占据首位,找到.png文件,下载然后用tweepy发布到twitter。我不是一个非常有经验的编码员,这是我的第一个真正的项目。我有其他问题,我在谷歌找到了答案,但这一个让我难过。抛出错误的代码部分工作正常,直到我将os.path.join()命令添加到此行 urllib.request.urlretrive(reddit_image_url, os.path.join('~/t-r_dankmemes__bot/jpg_folder', submission.title + '.jpg'))

现在它抛出了这个错误

Traceback (most recent call last):
  File "t-r_dankmemes_bot.py", line 25, in <module>
    for submission in hot_dankmemes:
  File "/usr/local/lib/python3.6/site-packages/praw/models/listing/generator.py", line 52, in __next__
    self._next_batch()
  File "/usr/local/lib/python3.6/site-packages/praw/models/listing/generator.py", line 62, in _next_batch
    self._listing = self._reddit.get(self.url, params=self.params)
  File "/usr/local/lib/python3.6/site-packages/praw/reddit.py", line 367, in get
    data = self.request('GET', path, params=params)
  File "/usr/local/lib/python3.6/site-packages/praw/reddit.py", line 472, in request
    params=params)
  File "/usr/local/lib/python3.6/site-packages/prawcore/sessions.py", line 179, in request
    params=params, url=url)
  File "/usr/local/lib/python3.6/site-packages/prawcore/sessions.py", line 110, in _request_with_retries
    data, files, json, method, params, retries, url)
  File "/usr/local/lib/python3.6/site-packages/prawcore/sessions.py", line 95, in _make_request
    params=params)
  File "/usr/local/lib/python3.6/site-packages/prawcore/rate_limit.py", line 32, in call
    kwargs['headers'] = set_header_callback()
  File "/usr/local/lib/python3.6/site-packages/prawcore/sessions.py", line 139, in _set_header_callback
    self._authorizer.refresh()
  File "/usr/local/lib/python3.6/site-packages/prawcore/auth.py", line 328, in refresh
    password=self._password)
  File "/usr/local/lib/python3.6/site-packages/prawcore/auth.py", line 138, in _request_token
    response = self._authenticator._post(url, **data)
  File "/usr/local/lib/python3.6/site-packages/prawcore/auth.py", line 31, in _post
    raise ResponseException(response)
prawcore.exceptions.ResponseException: received 403 HTTP response

对不起,如果这个问题是愚蠢的,正如我所说,除了去年我在学校学习的非常基础的java课程之外,我还不熟悉编码。如果有人也可以解释如何阅读&#34;像这样的错误消息,所以我可以追溯下一次我自己的问题,我将不胜感激。

import praw
import tweepy
import urllib
import os

###reddit API setup (praw)###
reddit = praw.Reddit(client_id = '******', client_secret = ******', username = '*******', password = '******', user_agent = '******')

subreddit = reddit.subreddit('dankmemes')

hot_dankmemes = subreddit.hot(limit = 5)

###twitter API setup (tweepy)###
ckey = '******'
csecret = '******'
akey = '*******'
asecret = '******'

auth = tweepy.OAuthHandler(ckey, csecret)
auth.set_access_token(akey, asecret)

TWEEPYAPI = tweepy.API(auth)

###MAIN###
for submission in hot_dankmemes:
        print('Checking ' + submission.title)
        if submission.ups >= 5000:
                print('Found Post')
                print('Checking for image in ' + submission.title)
                with urllib.request.urlopen(submission.shortlink) as pageurl:
                        for line in pageurl:
                                line = line.decode('utf-8')
                                if 'data-url=' in line:
                                        print('Found Image')
                                        reddit_image_url = line[line.index('data-url="') + 10:line.index('\" data-permalink=')]
                                        print(reddit_image_url)
                                        urllib.request.urlretrive(reddit_image_url, os.path.join('~/t-r_dankmemes__bot/jpg_folder', submission.title + '.jpg'))
                                        image_path = str('~/t-r_dankmemes_bot/jpg_folder/' + submission.title + '.jpg')
                                        TWEEPYAPI.update_with_media(image_path)
                                        print('Image successfully posted')
                                        break
                print('Post did not contain image')
                break
谢谢你的时间,特里斯坦:)

0 个答案:

没有答案
相关问题