Добавленная переменная не работает со статусом get для получения текстов твитов
У меня есть список идентификаторов твитов, вероятно, около 50 000 в файле excel на моем компьютере.Я хочу создать фрагмент кода, который позволит мне извлечь текст из твитов, чтобы я мог затем проанализировать ...
Я создал переменную 'tweetref' для хранения идентификаторов твитов, которые я могу передатьчтобы получить статус и т.д., чтобы получить текст твита.Мне сказали, что многие из этих твитов могут больше не существовать, и я не могу сказать, какой из идентификаторов, поэтому я сделал «пропуск» на исключение, надеясь проигнорировать все ошибки и просто получить те, которые работают.Использование firehose api для сбора данных слишком дорого для меня.
Он не выдавал никакого текста, даже если вручную заменить tweetref в 'tweet = api.get_status (tweetref)' - с указанным ниже номером (38387433561128960).), печатает реальный твит
Я попытался получить 2-й индекс из ссылки на твит, который привел к «индексу списка вне диапазона» - не уверен, почему, поскольку в списке должно быть более двадцати переменных.Не знаете, что я сделал не так?
РЕДАКТИРОВАТЬ - изменили
"tweetref.append (datalist [30:50])"
на
"tweetref.extend (datalist [30:50])" *
В результате все идентификаторы становятся отдельными элементами в "tweetref" и позволяют мне правильно обращаться к индексам.Однако, несмотря на это, второй цикл for со статусом get по-прежнему не печатает текст из твитов
# Import twitter related packages
import json
import tweepy
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
#import request style packages
import requests
from urllib.request import urlopen, Request
# Import excel related packages
import xlrd
import openpyxl
# Import visualisation packages
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# Store OAuth authentication credentials in relevant variables
access_token = "private"
access_token_secret = "private"
consumer_key = "private"
consumer_secret = "private"
# Pass OAuth details to tweepy's OAuth handler
auth = tweepy.OAuthHandler("private", "private")
auth.set_access_token("private", "private")
api = tweepy.API(auth)
# Read and write to excel
dataFileUrl = R"C:/Users/ebaba/Desktop/algeria1.xlsx"
# Create pandas data frame out of Tweet ID Column of file
data = pd.read_excel(dataFileUrl, usecols = ['Tweet'])
# Convert data frame into a list
datalist = data.values.tolist()
tweetref = []
for t in range (0,20):
tweetref.append(datalist[30:50])
print(tweetref[1])
for i in range (0,1):
try:
tweet = api.get_status(tweetref)
#38387433561128960 - Example Working Tweet - N.44
print(tweet.text)
except:
pass
Expected result would include the tweet
'RT @mattseaton: Another fascinating dispatch from inside the pro-democracy movement in Algiers, from Karima Bennoune
which is in the datalist[30:50] range
Actual Result
Traceback (most recent call last):
File "C:\Users\ebaba\Desktop\example6.py", line 56, in <module>
print(tweetref[1])
IndexError: list index out of range
[Finished in 16.902s]