aktuell arbeite ich an einem Projekt für meine Uni, die Erstellung einer sozialen Netzwerkanalyse. Dafür lese ich den Twitter Stream aus und das funktioniert auch soweit. Das Problem ist bei dem nachfolgenden Versuch, die ausgelesenen Tweets in eine XML Datei zu schreiben.
Die Fehlermeldung:
Code: Alles auswählen
TypeError: cannot serialize b'{"data":{"id":"1400875720344227840","text":"RT @jouwatch: Wie Dr. Fauci den Ursprung von Corona vertuschen\xc2\xa0wollte https://t.co/yLlexiNIdy"},"matching_rules":[{"id":1400875754578132999,"tag":"corona"}]}' (type bytes)
Code: Alles auswählen
tweets = Element('tweets')
tweet = SubElement(tweets, 'tweet')
def get_stream(headers, set, bearer_token):
response = requests.get(
"https://api.twitter.com/2/tweets/search/stream", headers=headers, stream=True,
)
print(response.status_code)
if response.status_code != 200:
raise Exception(
"Cannot get stream (HTTP {}): {}".format(
response.status_code, response.text
)
)
tweets = Element('tweets')
tweet = SubElement(tweets, 'tweet')
for response_line in response.iter_lines():
SubElement(tweet, 'text', text=response_line)
output_file = open('twitter_data.xml', 'w')
output_file.write('<?xml version="1.0"?>')
output_file.write(ElementTree.tostring(tweets).decode())
output_file.close()
Ich stehe ziemlich auf dem Schlauch, hat jemand von euch einen Hinweis für mich, was ich falsch mache bzw. übersehe?
Freundliche Grüße,
Nydiro