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
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