Extraction de tweet.js (json.loads et eval) (Python)

Bonjour, premier message impoli. Depuis l'année dernière (2019), il est devenu impossible de télécharger au format csv, mais depuis tweet.js, tweet-part .js, etc., tout d'abord, "tweet of" my tweet` "" Je voudrais écrire «temps» et «texte» comme «je veux extraire».


Pour tweet.js


#### **`read_js.py`**
```python

#Tweet dans le même répertoire.Veuillez mettre js
#Si MeCab est installé, décommentez-le et il sera récupéré.
import re
import datetime
import json
#import MeCab
tw_open = open("tweet.js","r",encoding="utf-8")
tw_time = open("tweet_mytext_time.txt","a",encoding="utf-8")
tw_a = open("tweet_mytext.txt","a",encoding="utf-8")
#tw_mecab = open("tweet_mytext_mecab.txt","a",encoding="utf-8")
twr = tw_open.read()
twr = re.sub("window.YTD.tweet.part0 = ","",twr)
twrj=json.loads(twr)
big=[]
small=[]
#mecab = MeCab.Tagger ("-Owakati")

for n in range(len(twrj)):
tw=eval(str(twrj[n]["tweet"]))
twf=str(tw["full_text"])
twf=re.sub(r"https?://[\w/:%#\$&\?\(\)~\.=\+\-…]+","",twf)
twf=twf.replace("\n","")
twc=str(tw["created_at"])
tim=datetime.datetime.strptime(twc,"%a %b %d %H:%M:%S %z %Y").replace(tzinfo=None)
tim_r=str(tim).replace(" ","_")
small=[]
twf_b=twf.split(":")[0] 
if not "RT" in twf_b:
 if not "@" in twf_b:
  small.append(str(tim.timestamp()).replace(".0",""))
  small.append(tim_r)
  small.append(twf)
  big.append(small)
small=[]

big.sort(key=lambda x: x[1],reverse=True)

for num in range(len(big)):
tw_a.write(big[num][2]+"\n")
tw_time.write(big[num][1]+" "+big[num][2]+"\n")
#text=big[num][2]
#text_m = mecab.parse(text)
#tw_mecab.write(str(text_m))
```

Si vous avez également tweet-part1.js, Mecab,


#### **`read_js.py`**
```python

import re
import datetime
import json
import MeCab
tw_open = open("tweet.js","r",encoding="utf-8")
tw1_open = open("tweet-part1.js","r",encoding="utf-8")
tw_time = open("tweet_mytext_time.txt","a",encoding="utf-8")
tw_a = open("tweet_mytext.txt","a",encoding="utf-8")
tw_mecab = open("tweet_mytext_mecab.txt","a",encoding="utf-8")
twr = tw_open.read()
tw1r = tw1_open.read()
twr = re.sub("window.YTD.tweet.part0 = ","",twr)
tw1r = re.sub("window.YTD.tweet.part1 = ","",tw1r)
twrj=json.loads(twr)
tw1rj=json.loads(tw1r)
big=[]
small=[]
mecab = MeCab.Tagger ("-Owakati")


for n in range(len(twrj)):
tw=eval(str(twrj[n]["tweet"]))
twf=str(tw["full_text"])
twf=re.sub(r"https?://[\w/:%#\$&\?\(\)~\.=\+\-…]+","",twf)
twf=twf.replace("\n","")
twc=str(tw["created_at"])
tim=datetime.datetime.strptime(twc,"%a %b %d %H:%M:%S %z %Y").replace(tzinfo=None)
tim_r=str(tim).replace(" ","_")
small=[]
twf_b=twf.split(":")[0] 
if not "RT" in twf_b:
 if not "@" in twf_b:
  small.append(str(tim.timestamp()).replace(".0",""))
  small.append(tim_r)
  small.append(twf)
  big.append(small)
small=[]

for n in range(len(tw1rj)):
tw1=eval(str(tw1rj[n]["tweet"]))
twf1=str(tw1["full_text"])
twf1=re.sub(r"https?://[\w/:%#\$&\?\(\)~\.=\+\-…]+","",twf1)
twf1=twf1.replace("\n","")
twc1=str(tw1["created_at"])
tim1=datetime.datetime.strptime(twc1,"%a %b %d %H:%M:%S %z %Y").replace(tzinfo=None)
tim_r1=str(tim1).replace(" ","_")
small=[]
twf_b1=twf1.split(":")[0] 
if not "RT" in twf_b1:
 if not "@" in twf_b1:
  small.append(str(tim1.timestamp()).replace(".0",""))
  small.append(tim_r1)
  small.append(twf1)
  big.append(small)

#print(big)
big.sort(key=lambda x: x[1],reverse=True)
for num in range(len(big)):
tw_a.write(big[num][2]+"\n")
tw_time.write(big[num][1]+" "+big[num][2]+"\n")
text=big[num][2]
text_m = mecab.parse(text)
tw_mecab.write(str(text_m))
```

Quand tu fais ça,



#### **`tweet_mytext.txt`**
```text

texte
.....
```


#### **`tweet_mytext_time.txt`**
```text

2020-01-19_05:47:57 texte
.....
```

Devrait être.
<h2> Description

J'ai eu beaucoup de mal à gérer les citations en JSON, en laissant de côté la partie de base ().


#### **`python`**
```python

twrj=json.loads(twr)
tw=eval(str(twrj[n]["tweet"]))
```

Dans de tels endroits, il semble que open et read sont utilisés pour lire la phrase entière, les en-têtes supplémentaires sont supprimés et json.loads (type de caractère) est utilisé pour le convertir en un type de dictionnaire.
À partir de là, eval convertit davantage les valeurs de tweet de type dictionnaire sous forme de dictionnaire.



#### **`python`**
```python

{'tweet': {'retweeted': False, 'source': '<a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>', 'entities': {'hashtags': [], 'symbols': [], 'user_mentions': [{'name': 'Saidjon', 'screen_name': 'noppo6', 'indices': ['3', '10'], 'id_str': '240638809', 'id': '240638809'}], 'urls': []}, 'display_text_range': ['0', '140'], 'favorite_count': '0', 'id_str': '1218787465110024192', 'truncated': False, 'retweet_count': '0', 'id': '1218787465110024192', 'created_at': 'Sun Jan 19 06:49:10 +0000 2020', 'favorited': False, 'full_text': 'RT @noppo6:Samarkand est bleu car il a été peint en bleu pour attirer les touristes après l'indépendance. Presque le niveau de destruction des ruines. Félicitations aux guides et aux médias japonais qui louent Samarkand comme la "ville bleue". Je pense que c'est bon pour ce simple Samarkand.\Même si c'est n, Shahizi ...', 'lang': 'ja'}}
```

Le JSON que je viens de recevoir était comme ça, par exemple.

Q. Comment jugez-vous si c'est votre tweet?
A. Dans le cas de RT, c'est un deux-points, et RT et @ sont inclus à la 0ème place, donc il est jugé par cela




Je n'ai écrit que pour l'instant, mais je suis heureux si cela aide. [Je suis toujours sur Twitter (@ kenkensz9) donc si vous avez des questions](https://twitter.com/kenkensz9)
J'espère que tu aimes!


Recommended Posts

Extraction de tweet.js (json.loads et eval) (Python)
Installation source et installation de Python
Construction d'environnement de python et opencv
Ceci et cela des propriétés python
Coexistence de Python2 et 3 avec CircleCI (1.0)
Python - Différence entre exec et eval
Résumé des index et des tranches Python
Réputation des livres Python et des livres de référence
Installation du code Visual Studio et installation de python
Connectez beaucoup de Python ou et et
Introduction facile de la série python3 et d'OpenCV3
[Python] Diverses combinaisons de chaînes de caractères et de valeurs
Automatisation égale de l'installation de Python et PyPI
Compréhension complète du threading Python et du multitraitement
Projet Euler # 1 "Multiple de 3 et 5" en Python
Résumé de la correspondance entre les opérations de tableau ruby et python
Résumé des différences entre PHP et Python
La réponse de "1/2" est différente entre python2 et 3
Spécification de la plage des tableaux ruby et python
Mémorandum d'extraction par requête python bs4
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
Les bases de Python ①
Bases de python ①
Comparez la vitesse d'ajout et de carte Python
[Python] Chapitre 02-01 Bases des programmes Python (opérations et variables)
Copie de python
Implémentation de l'arbre TRIE avec Python et LOUDS
environnement de développement python -utilisation de pyenv et virtualenv-
Liens et mémos de chaînes de code de caractères Python
Comparaison d'écriture R et Python (méthode de division mutuelle euclidienne)
Résumé relatif aux E / S de python et fortran
Liste de code Python à déplacer et à mémoriser
[Python] Une compréhension approximative des itérables, des itérateurs et des générateurs
Prise en compte des forces et faiblesses de Python
À propos des copies superficielles et profondes de Python / Ruby
Poursuite du développement multi-plateforme avec Electron et Python
Explication de la distance d'édition et de l'implémentation en Python
[Python] Élimine le branchement conditionnel par if en utilisant pleinement Enum et eval
[Python] Type de classe et utilisation du module datetime
Exemple de lecture et d'écriture de CSV avec Python
Comparaison de Python et Ruby (Environment / Grammar / Literal Edition)
Introduction de Python
Fonctionnement de base de Python Pandas Series et Dataframe (1)
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Note d'apprentissage Python de Mayungo: liste d'histoires et de liens
Traitement pleine largeur et demi-largeur des données CSV en Python
L'histoire de Python sans opérateurs d'incrémentation et de décrémentation.
Calcul de l'écart type et du coefficient de corrélation en Python
[Python of Hikari-] Chapitre 06-02 Fonction (argument et valeur de retour 1)
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
Le processus d'installation d'Atom et de l'exécution de Python
Vitesse de lecture Python netCDF4 et imbrication d'instructions for
Python - Explication et résumé de l'utilisation des 24 meilleurs packages
[Python] Erreur de type: résumé des causes et des solutions pour "Aucun type"
Reçoit et génère la sortie standard des implémentations Python 2 et Python 3> C
Téléchargez facilement et partiellement mp4 avec python et youtube-dl!
Différence entre Ruby et Python en termes de variables
Le comportement de retrait de json.dumps est différent entre python2 et python3
Visualisez la gamme d'insertions internes et externes avec python