Ich werde es zuerst schreiben, aber ich kann keine Sätze schreiben. Wenn es schwer zu lesen ist, tut es mir leid. Nun, ich bin sehr wütend zu wissen, dass ich die Liste der Likes nicht sehen kann, weil ich Likes anstelle von Aktien verwendet habe. Es scheint, dass viele Menschen sich Sorgen um Twitter und Qiita machen. [^ 1] [^ 2] Kratzen Sie also mit Python, um eine Liste der Likes zu erhalten.
Verwenden Sie nach der Installation von python3 den Befehl pip, um BeautifulSoup4, progressbar2 anzufordern Bitte installiere
Holen Sie sich die Artikelliste und speichern Sie sie in der Datei "results.json".
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
import requests
from time import sleep
import json
from progressbar import ProgressBar
#Melden Sie sich bei Qiita an
payload = {
'utf8': '✓',
'identity': 'lovemuffim114', #Nutzername
'password': 'tkhr2783' #Passwort
}
# authenticity_Bekomme Token
s = requests.Session()
r = s.get('https://qiita.com')
soup = BeautifulSoup(r.text, "html.parser")
auth_token = soup.find(attrs={'name': 'authenticity_token'}).get('value')
payload['authenticity_token'] = auth_token
#Einloggen
s.post('https://qiita.com/login', data=payload)
#Wörterbuch zum Speichern von Ergebnissen
results = dict()
searchId = 1000000
param = {"before": searchId, "type": "id"}
#Holen Sie sich die Anzahl der Artikel
maxId = s.get("http://qiita.com/api/public", params=param).json()[0]["id"]
bar = ProgressBar(min_value=0, max_value=maxId) #Maximalwert einstellen
try: #Fehler, wenn keine Artikel mehr geladen werden müssen
while True:
param = {"before": searchId, "type": "id"}
#Artikelliste abrufen
j = s.get("http://qiita.com/api/public", params=param).json()
#Fügen Sie Artikel hinzu, die Ihnen gefallen und die Sie nicht auf Lager haben.
# "url"außer,"uuid"Kann auch angegeben werden.
results.update({i["title"]: i["url"] for i in j if i["liked"] and not i["stocked"]})
searchId = j[-1]["id"]
bar.update(maxId - searchId) #Aktualisierung des Fortschrittsbalkens
sleep(1) # sleep(1 Sekunde)Sie können Dezimalstellen verwenden.
finally:
print(results)
# results.In json speichern
with open("results.json", "a") as f:
json.dump(results, f, ensure_ascii=False, indent=4, separators=(',', ': '))
das ist alles. Ergebnis ist,
{
"[Narou4j] Erstellt eine neuartige Erfassungsbibliothek, um Romanautor in Java zu werden": "863aa22a29db16463e52",
"Beschleunigen Sie ListView ohne ViewHolder": "28f8be64d39b20e69552",
"[Narou4j] Java-Wrapper-Bibliothek für die Naruto-API erstellt": "6c050593f45174056005",
"Ich habe mein eigenes Hydroponik-Kultivierungsset gemacht.": "5d60c14d560ecf518a4e",
"RxJava + Flux (+ Kotlin)Android App Design von": "cbf304891daec87ba5b7",
"Ich habe EventBus mit RxJava gemacht": "a4ece37834446c9a39c8"
}
Es wird gespeichert als. Für die Anmeldung bei Qiita habe ich Anmelden bei der Website in Python verwendet.
[^ 1]: [[Vorsicht! ] Artikel werden nicht vorrätig gehalten, wenn Sie einfach die "Gefällt mir" -Taste auf Qiita drücken! Ich habe eine Erweiterung geschrieben! ]](Http://qiita.com/gimupop/items/be53044143a9a3e90a4b) [^ 2]: [Twitter-Suchergebnisse für "qiita Like List-! -Breakthrough"](https://twitter.com/search?f=tweets&vertical=default&q=qiita%20%E3%81%84%E3% 81% 84% E3% 81% AD% E3% 80% 80% E4% B8% 80% E8% A6% A7% E3% 80% 80% 20-% EF% BC% 81% 20-% E7% AA% 81% E7% A0% B4 & src = typd)
Recommended Posts