Danbooru Twitter bot上超出范围的索引错误列表页面

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (143)

我正在使用我在github中找到的代码,我必须修改某些东西,它有效,但有时(即使工作时)它会使Index错误页面超出范围然后停止工作。

模块中的文件“bot.py”,第36行, imageSource = pageTable [arrayNum] [“file_url”] IndexError:列表索引超出范围

这是我的代码

import time                                                                                                                                                                                                        
import requests                                                                                                                                                                                                    
import tweepy                                                                                                                                                                                                      
import urllib                                                                                                                                                                                                      
import os                                                                                                                                                                                                          
import random                                                                                                                                                                                                      

page = 1                                                                                                                                                                                                           

url = 'https://danbooru.donmai.us/posts.json?tags=shimakaze_(kantai_collection) rating:s&limit=1000&page='                                                                                                         

consumer_key = ''                                                                                                                                                                         
consumer_secret = ''                                                                                                                                             
access_key = ''                                                                                                                                                  
access_secret = ''                                                                                                                                                    

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)                                                                                                                                                          
auth.set_access_token(access_key, access_secret)                                                                                                                                                                   

api = tweepy.API(auth)                                                                                                                                                                                             

while True:                                                                                                                                                                                                        
        try:                                                                                                                                                                                                       
                random.seed()                                                                                                                                                                                      
                jsURL = url + str(random.randint(1,1000))                                                                                                                                                          
                response = requests.get(jsURL)                                                                                                                                                                     
                pageTable = response.json()                                                                                                                                                                        
                arrayNum = random.randint(0,5)                                                                                                                                                                     

                print arrayNum                                                                                                                                                                                     
                imageSource = pageTable[arrayNum]["file_url"]                                                                                                                                                      
                imageURL = imageSource                                                                                                                                                                             
                print imageURL                                                                                                                                                                                     
                sourceURL = "http://danbooru.donmai.us/posts/" + str(pageTable[arrayNum]["id"])                                                                                                                    
                print sourceURL                                                                                                                                                                                    
                urllib.urlretrieve(imageURL, 'image.jpg')                                                                                                                                                          

                .                                                                                                                                                
                tweetString = sourceURL + " "                                                                                                                                                                      
                api.update_with_media('image.jpg', status=tweetString)                                                                                                                                             

                os.remove('image.jpg')                                                                                                                                                                             
               post. Limited to 500 requests/hour.                                                                                                     
                time.sleep(600)                                                                                                                                                                                    

        except tweepy.error.TweepError:                                                                                                                                                                            
                print "Image too large, finding a different image.." 

arrayNum = random.randint(0,5) line给出错误,该代码生成0 - 5个数字,并用作danbooru页面,所以我不知道为什么它给出了一个IndexError

提问于
用户回答回答于

扫码关注云+社区

领取腾讯云代金券