Ich habe ein Programm erstellt, um den Holojour, den Lieferplan von hololive, zu kratzen und den Inhalt einfach mit CLI anzuzeigen.
Dieses Tool verwendet Anforderungen als externe Bibliothek. Wenn Sie bereits Pip installiert haben Sie können mit Pip-Installationsanforderungen </ b> antworten
Dieses Tool hat auch nichts mit der Holorive-Formel zu tun. Überlasten Sie den Server nicht mit mehr Ausführung als nötig.
Sie können die folgenden Inhalte anzeigen, indem Sie main.py im Repository ausführen.
Sie können zur Laufzeit auch Optionen hinzufügen und deren Inhalt mit --help überprüfen. Als Beispiel,
---- all Alle Zeitpläne anzeigen, außer Bilibili-Videos, einschließlich Holosters ---- eng Anzeigen von Mitgliedsnamen in Englisch ---- morgen Zeige den Zeitplan von morgen
Usw. verwendet werden kann. Diese Optionen können gleichzeitig eingestellt und ausgeführt werden.
Notes Notieren Sie sich, wo Sie in der Produktion stecken.
Zunächst war ich besorgt darüber, wie ich die hololiven Mitglieder von den anderen durch die durch Schaben erhaltenen Daten trennen könnte. Als Antwort
scraping.py
def delete_exception(time_list, stream_members_list, stream_url_list, is_all):
EXCEPTION_LIST = {'Yogiri', 'Civia', 'SpadeEcho', 'Doris', 'Artia', 'Rosalyn'}
if not is_all:
#Slice to get only non-hololive members (e.g. holostars hololive-ID)
EXCEPTION_LIST = EXCEPTION_LIST | set(get_member_list()[29:])
for i in range(len(time_list)):
if stream_members_list[i] in EXCEPTION_LIST:
time_list[i] = None
stream_members_list[i] = None
stream_url_list[i] = None
time_list = [i for i in time_list if not i is None]
stream_members_list = [i for i in stream_members_list if not i is None]
stream_url_list = [i for i in stream_url_list if not i is None]
return time_list, stream_members_list, stream_url_list
Bereiten Sie im Voraus eine Reihe von Mitgliedern der Hololive Youtube-Distribution und Mitgliedern der Bilibili-Distribution vor. Ich habe eine Reihe von Mitgliedern erstellt, um sie von Optionen usw. auszuschließen, die dazugehörigen Elemente durch "Keine" ersetzt und sie schließlich gemeinsam in der Einschlussnotation gelöscht.
Übrigens können Sie es auch in eine Liste implementieren, aber wenn Sie die Elementnummern nicht benötigen, ist es um ein Vielfaches schneller, eine Menge als eine Liste zu verwenden.
unicode
if unicodedata.east_asian_width(stream_members_list[i][0]) == 'W':
m_space = ' ' * ( (-2 * len(stream_members_list[i]) + 18))
else:
m_space = ' ' * ( (-1 * len(stream_members_list[i]) ) + 18)
east_asian_width of unicodedata gibt W zurück, wenn das Argument (ein Zeichen, weil es Char ist) ein japanisches Zeichen voller Breite ist. Infolgedessen war es möglich, die Zeilen unter Verwendung der Anzahl der Zeichen im Namen in einer einheitlichen Zeile unter Verwendung von Leerzeichen anzuzeigen.
Ich bin froh, dass es bereits von einigen Leuten geklont wurde. Wir werden dieses Repository weiter verbessern.
Recommended Posts