Python 带HTTP异常的PRAW循环

Python 带HTTP异常的PRAW循环,python,python-3.x,reddit,praw,Python,Python 3.x,Reddit,Praw,我正在使用一个Python脚本来循环遍历子插件列表并获取它们的帖子。然而,列表很长,偶尔会出现403404等错误。我试图绕过那些给出错误的,但迄今为止一直无法做到。代码如下 我正在使用Subredits和praw的列表从中提取。但是,该列表相当长,偶尔会删除其中的子Reddit,从而导致HTTP异常(403、404等)。下面是我的代码,有人知道我可以输入一两行代码来跳过那些给出错误的代码吗 df = pd.read_csv('reddits.csv', sep = ',') df.head()

我正在使用一个Python脚本来循环遍历子插件列表并获取它们的帖子。然而,列表很长,偶尔会出现403404等错误。我试图绕过那些给出错误的,但迄今为止一直无法做到。代码如下

我正在使用Subredits和praw的列表从中提取。但是,该列表相当长,偶尔会删除其中的子Reddit,从而导致HTTP异常(403、404等)。下面是我的代码,有人知道我可以输入一两行代码来跳过那些给出错误的代码吗

df = pd.read_csv('reddits.csv', sep = ',')
df.head()

Submission = namedtuple('Submission', ['time', 'score', 'title', 'text', 'author', 'comments', 'url', 'domain', 'permalink', 'ups', 'downs', 'likes', 'crosspost', 'duplicates', 'views'])
data = []

for i in df.reddits:
    subreddit = reddit.subreddit(i)
    for submission in subreddit.new(limit=10):
            time = datetime.utcfromtimestamp(submission.created_utc)
            score = submission.score
            title = submission.title
            text = submission.selftext
            author = submission.author
            comments = submission.num_comments
            url = submission.url
            domain = submission.domain
            permalink = submission.permalink
            ups = submission.ups
            downs = submission.downs
            likes = submission.likes
            crosspost = submission.num_crossposts
            duplicates = submission.num_duplicates
            views = submission.view_count
            data.append(Submission(time, score, title, text, author, comments, url, domain, permalink, ups, downs, likes, crosspost, duplicates, views))
    df = pd.DataFrame(data)
    os.chdir('wd')
    filename = i + str(datetime.now()) + '.csv'
    df.to_csv(filename, index=False, encoding='utf-8')

您需要捕获异常,然后才能
继续

df=pd.read\u csv('reddits.csv',sep=','
df.head()
Submission=namedtuple('Submission',['time','score','title','text','author','comments','url','domain','permalink','ups','downs','likes','crosspost','duplicates','views']))
数据=[]
对于df.reddits中的i:
尝试:
subreddit=reddit.subreddit(i)
除HTTPError作为e外:
打印(f“获取{e}检索{subreddit}”)
继续#控制传回外循环的下一次迭代
以subreddit.new格式提交(限制=10):
提交=提交(
datetime.utcfromtimestamp(submission.created_utc),
提交.score,
提交.标题,
提交.selftext,
提交人:,
submission.num_注释,
submission.url,
提交.domain,
submission.permalink,
提交文件.ups,
提交文件.downs,
我喜欢,
submission.num_交叉柱,
submission.num_副本,
submission.view\u计数,
)
数据追加(提交)
df=pd.DataFrame(数据)
os.chdir('wd')
filename=i+str(datetime.now())+'.csv'
df.to_csv(文件名,索引=False,编码=utf-8')

另外,无关:
i
不是该值的好名称;它传统上代表“索引”,而不是包含在其中的内容
e
将是对应的泛型名称,代表“element”,但在python中,
reddit
将是惯用的选择。

哪一行引发了异常?简单的答案是将该行包装在一个
try:
块中,在
中除了
之外什么都不做(或者更好的是,记录一些有用的内容)。它是subreddit=reddit.subreddit(i)。我知道为什么会出现错误,subreddit列表没有完全更新,并且包含一些旧的subreddit。我只想继续超越列表中的那些。一些搜索表明continue:是一个合适的命令,但我不确定在哪里插入它。