Итак, я пытаюсь очистить данные из Twitter.Мне удается получить твиты на основе определенного хэштега, а затем вывести их в текстовый файл в формате JSON, используя следующий код:
import json
import tweepy
import pandas as pd
import time
with open('consumer_key.txt', 'r') as f:
consumer_key = f.read()
f.closed
with open('consumer_secret.txt', 'r') as f:
consumer_secret = f.read()
f.closed
with open('access_key.txt', 'r') as f:
access_key = f.read()
f.closed
with open('access_secret.txt', 'r') as f:
access_secret = f.read()
f.closed
#Authentication
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
api = tweepy.API(auth, wait_on_rate_limit=True,
wait_on_rate_limit_notify=True) # Connect to the api
if (not api):
print ("Error")
sys.exit(-1)
public_tweets = api.home_timeline() # Get the post in the timeline
for tweet in public_tweets:
print(tweet.text)
with open('tweets.txt', 'a') as f:
for tweet in tweepy.Cursor(api.search, q='#apple', count=2, lang='en', since='2017-04-03').items():
json.dump(tweet._json, f, indent=4)
Однако, когда я пытаюсь прочитать файл, используя
with open('tweets.txt', 'r') as f:
for line in f:
tweet = json.loads(line)
tweet_text = tweet['text']
print(tweet_text)
выдает ошибку «JSONDecodeError: Ожидается имя свойства, заключенное в двойные кавычки: строка 2, столбец 1 (символ 2)»
Это фрагмент моего текстового файла:
{
"created_at": "Wed Dec 05 10:37:07 +0000 2018",
"id": 1070265807492530176,
"id_str": "1070265807492530176",
"text": "RT @evankirstel: The Apple Watch Series 3 Made Up Majority of
Estimated 4.2 Million Q3 2018 Apple Watch Sales #applewatch #apple
@mactrast\u2026",
"truncated": false,
"entities": {
"hashtags": [
{
"text": "applewatch",
"indices": [
110,
121
]
},
{
"text": "apple",
"indices": [
122,
128
]
}
],
"symbols": [],
"user_mentions": [
{
"screen_name": "evankirstel",
"name": "Evan Kirstel",
"id": 35203319,
"id_str": "35203319",
"indices": [
3,
15
]
},
{
"screen_name": "MacTrast",
"name": "MacTrast",
"id": 16711478,
"id_str": "16711478",
"indices": [
130,
139
]
}
],
Как я могу решить это?В конечном итоге я хочу извлечь данные, основанные на ключах, и сохранить их в кадре данных pandas.