Weibo-Spinne
Dieses Programm kann die Daten eines oder mehrerer Sina Weibo-Benutzer (wie Hu Ge, Dilraba, Guo Biting) kontinuierlich crawlen und die Ergebnisinformationen in eine Datei oder Datenbank schreiben. Die schriftlichen Informationen umfassen fast alle Daten des Weibo-Benutzers, einschließlich zweier Kategorien: Benutzerinformationen und Weibo-Informationen . Da es zu viele Inhalte gibt, werde ich hier nicht auf Details eingehen. Weitere Informationen finden Sie in den erhaltenen Feldern. Wenn Sie nur Benutzerinformationen benötigen, können Sie die Funktion so einstellen, dass nur Weibo-Benutzerinformationen gecrawlt werden. Dieses Programm muss Cookies setzen, um Zugriff auf Weibo zu erhalten. Wie man Cookies erhält, wird später erklärt. Wenn Sie keine Cookies setzen möchten, können Sie die Cookie-freie Version nutzen, die über ähnliche Funktionen verfügt.
Crawling-Ergebnisse können in Dateien und Datenbanken geschrieben werden. Die spezifischen Schreibdateitypen sind wie folgt:
- txt-Datei (Standard)
- CSV-Datei (Standard)
- JSON-Datei (optional)
- MySQL-Datenbank (optional)
- MongoDB-Datenbank (optional)
- SQLite-Datenbank (optional)
Es unterstützt auch das Herunterladen von Bildern und Videos von Weibo. Die spezifischen herunterladbaren Dateien sind wie folgt:
- Originalbild vom Original -Weibo (optional)
- Das Originalbild von Weibo erneut veröffentlichen (optional)
- Originalvideo auf Weibo ( optional )
- Videos auf Weibo erneut veröffentlichen (optional)
- Videos im Original -Weibo -Live-Foto (exklusiv in der Cookie-freien Version)
- Videos von Weibo Live Photo erneut veröffentlichen (einzigartig für die Cookie-freie Version)
Inhaltsverzeichnis
[Inhaltsverzeichnis]
- Weibo-Spinne
- Inhaltsverzeichnis
- Die erhaltenen Felder
- Benutzerinformationen
- Weibo-Informationen
- Beispiel
- Betriebsumgebung
- Gebrauchsanweisung
- 0.Version
- 1. Installationsprogramm
- Installation des Quellcodes
- Pip-Installation
- 2. Programmeinstellungen
- 3. Führen Sie das Programm aus
- Personalisierungsprogramm (optional)
- Weibo regelmäßig automatisch crawlen (optional)
- Wie bekomme ich Kekse?
- So erhalten Sie die Benutzer-ID
- FAQ
- akademische Forschung
- Verwandte Projekte
- beitragen
- Mitwirkender
- Dinge zu beachten
Die erhaltenen Felder
In diesem Abschnitt werden die gecrawlten Feldinformationen beschrieben. Um sie von der Cookie-freien Version zu unterscheiden, werden die von beiden gecrawlten Informationen unten aufgeführt. Wenn die Informationen nur für die Version ohne Cookies gelten, werden sie als „ohne Cookies“ markiert, und die nicht markierten Informationen gelten für beide.
Benutzerinformationen
- Benutzer-ID: Weibo-Benutzer-ID, z. B. „1669879400“. Tatsächlich ist dieses Feld ein bekanntes Feld.
- Spitzname: Spitzname des Benutzers, z. B. „Dear-Dilraba“
- Geschlecht: Geschlecht des Weibo-Benutzers
- Geburtstag: Geburtsdatum des Benutzers
- Standort: Standort des Benutzers
- Lernerfahrung: Name und Uhrzeit der Schule, zu der der Benutzer die Schule besuchte
- Berufserfahrung: Firmenname und Uhrzeit des Benutzers
- Sunshine Credit (Cookie-freie Version): Sunshine Credit des Benutzers
- Weibo-Registrierungszeit (Cookie-freie Version): Weibo-Registrierungsdatum des Benutzers
- Anzahl der Weibos: Anzahl aller Weibos des Benutzers (retweetete Weibos + Original-Weibos)
- Anzahl der Follower: Die Anzahl der Weibo-Beiträge, denen der Benutzer folgt
- Anzahl der Fans: Die Anzahl der Fans des Benutzers
- Einführung: Benutzerprofil
- Homepage-Adresse (Cookie-freie Version): Homepage-URL der mobilen Weibo-Version
- Avatar-URL (Cookie-freie Version): Benutzer-Avatar-URL
- Hochauflösende Avatar-URL (Cookie-freie Version): Hochauflösende Avatar-URL des Benutzers
- Weibo-Ebene (Cookie-freie Version): Benutzer-Weibo-Ebene
- Mitgliedschaftsstufe (Cookie-freie Version): Weibo-Mitgliedsbenutzerstufe, die Stufe für normale Benutzer ist 0
- Ob authentifiziert werden soll (Cookie-freie Version): ob der Benutzer authentifiziert ist, ein boolescher Typ
- Authentifizierungstyp (Cookie-freie Version): Benutzerauthentifizierungstyp, z. B. persönliche Authentifizierung, Unternehmensauthentifizierung, Regierungsauthentifizierung usw.
- Authentifizierungsinformationen: eindeutig für authentifizierte Benutzer, Authentifizierungsinformationen werden in der Spalte mit den Benutzerinformationen angezeigt
Weibo-Informationen
- Weibo-ID: Weibos einzigartiges Logo
- Weibo-Inhalt: Weibo-Text
- URL des Schlagzeilenartikels: Die URL des Schlagzeilenartikels in Weibo. Wenn es in Weibo keinen Schlagzeilenartikel gibt, lautet der Wert ''.
- Originalbild-URL: Das Original-Weibo-Bild und die URL des Bildes im Weibo-Weiterleitungsgrund. Wenn ein Weibo-Beitrag mehrere Bilder enthält, wird jede URL durch ein englisches Komma getrennt. Wenn kein Bild vorhanden ist, lautet der Wert „. Keiner"
- Video-URL: Die Video-URL in Weibo. Wenn in Weibo kein Video vorhanden ist, lautet der Wert „Keine“.
- Veröffentlichungsort auf Weibo: Veröffentlichungsort in Weibo
- Weibo-Veröffentlichungszeit: Der Zeitpunkt, zu dem Weibo veröffentlicht wurde, auf die Minute genau
- Anzahl der Likes: Anzahl der Likes auf Weibo
- Anzahl der Retweets: Die Anzahl der Retweets auf Weibo
- Anzahl der Kommentare: Die Anzahl der Kommentare auf Weibo
- Weibo-Veröffentlichungstools: Weibo-Veröffentlichungstools wie iPhone-Client, HUAWEI Mate 20 Pro usw.
- Ergebnisdatei: Wird in dem nach dem Spitznamen des Benutzers benannten Ordner im Weibo-Ordner des aktuellen Verzeichnisses in der Form „user_id.csv“ und „user_id.txt“ gespeichert.
- Weibo-Bilder: Bilder im Original-Weibo und Bilder in den Gründen für die Weiterleitung auf Weibo werden im IMG-Ordner unter dem Ordner gespeichert, der nach dem Spitznamen des Benutzers benannt ist.
- Weibo-Videos: Originalvideos auf Weibo, gespeichert im Videoordner unter dem Ordner, der nach dem Spitznamen des Benutzers benannt ist
- Weibo-Gebot (Cookie-freie Version): einzigartig für die Cookie-freie Version, es ist derselbe Wert wie die Weibo-ID in diesem Programm
- Thema (Cookie-freie Version): Weibo-Thema, also der Inhalt zwischen zwei #s, wird jede URL durch ein englisches Komma getrennt, ist der Wert „.
- @user (Cookie-freie Version): Weibo @-Benutzer. Wenn mehrere @-Benutzer vorhanden sind, wird jede URL durch ein englisches Komma getrennt. Wenn nicht, lautet der Wert ''
- Ursprüngliches Weibo (Cookie-freie Version): Es handelt sich um das weitergeleitete Weibo im weitergeleiteten Weibo. Es wird in Wörterbuchform gespeichert und enthält alle Inhalte der oben genannten Weibo-Informationen, wie Weibo-ID, Weibo-Inhalt usw .
Beispiel
Wenn Sie die spezifischen Ausführungsergebnisse des Programms wissen möchten, können Sie sich das Beispieldokument ansehen, das ein Beispiel für das Crawlen von Dilirebas Weibo vorstellt und einige Screenshots der Ergebnisdateien anhängt.
Betriebsumgebung
- Entwicklungssprache: Python2/Python3
- System: Windows/Linux/macOS
Gebrauchsanweisung
0.Version
Es gibt zwei Versionen dieses Programms. Die eine, die Sie jetzt sehen, ist die Python2-Version. Die Python2-Version befindet sich im Python2-Zweig. Derzeit entwickeln wir hauptsächlich die Python3-Version, einschließlich der Entwicklung neuer Funktionen und Fehlerbehebungen; die Python2-Version unterstützt nur Fehlerbehebungen. Es wird empfohlen, dass Python3-Benutzer die aktuelle Version verwenden, und Python2-Benutzern wird empfohlen, die Python2-Version zu verwenden. Diese Bedienungsanleitung gilt für die Python3-Version.
1. Installationsprogramm
Dieses Programm bietet zwei Installationsmethoden, eine ist die Quellcode-Installation und die andere ist die Pip-Installation , die beide genau die gleichen Funktionen haben. Wenn Sie den Quellcode ändern müssen, wird empfohlen, die erste Methode zu verwenden. Andernfalls können Sie eine beliebige Installationsmethode auswählen.
Installation des Quellcodes
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
Pip-Installation
$ python3 -m pip install weibo-spider
2. Programmeinstellungen
Weitere Informationen zu den Programmeinstellungen finden Sie in der Dokumentation zu den Programmeinstellungen.
3. Führen Sie das Programm aus
Benutzer, die den Quellcode installieren, können die folgenden Befehle im weiboSpider-Verzeichnis ausführen. Benutzer, die pip installieren, können die folgenden Befehle in jedem Verzeichnis mit Schreibberechtigung ausführen.
$ python3 -m weibo_spider
Bei der ersten Ausführung wird die Konfigurationsdatei config.json automatisch im aktuellen Verzeichnis erstellt. Führen Sie nach der Konfiguration denselben Befehl aus, um Weibo zu erhalten.
Wenn Sie bereits über eine config.json-Datei verfügen, können Sie den config.json-Pfad auch über den Parameter config_path konfigurieren und das Programm ausführen. Die Befehlszeile lautet wie folgt:
$ python3 -m weibo_spider --config_path= " config.json "
Wenn Sie den Speicherpfad der Datei (CSV, TXT, JSON, Bild, Video) angeben möchten, können Sie ihn über den Parameter „output_dir“ festlegen. Wenn Sie die Datei im Verzeichnis /home/weibo/ speichern möchten, können Sie den folgenden Befehl ausführen:
$ python3 -m weibo_spider --output_dir= " /home/weibo/ "
Wenn Sie user_id über die Befehlszeile eingeben möchten, können Sie einen oder mehrere user_ids eingeben, die durch ein Komma getrennt sind. Wenn es unter diesen user_ids doppelte user_ids gibt, entfernt das Programm automatisch Duplikate. Die Befehlszeile lautet wie folgt:
$ python3 -m weibo_spider --u= " 1669879400,1223178222 "
Das Programm ruft die Weibo-Benutzer ab, deren Benutzer-IDs 1669879400 und 1223178222 sind. Wir werden später erklären, wie man die Benutzer-ID erhält. Alle Benutzer-IDs in dieser Methode werden mithilfe von Since_date und End_date in config.json festgelegt, und der Crawling-Zeitbereich kann durch Ändern ihrer Werte gesteuert werden. Wenn die user_id_list in config.json ein Dateipfad ist, wird die user_id in jeder Befehlszeile automatisch in der Datei gespeichert und seit_date automatisch aktualisiert. Wenn es sich nicht um einen Pfad handelt, wird die user_id in user_id_list.txt im aktuellen Verzeichnis gespeichert und automatisch aktualisiert. Wenn user_id_list.txt nicht im aktuellen Verzeichnis vorhanden ist, erstellt das Programm es automatisch.
Personalisierungsprogramm (optional)
Dieser Abschnitt ist optional und kann ignoriert werden, wenn Sie das Programm nicht personalisieren oder keine neuen Funktionen hinzufügen müssen.
Der Hauptcode dieses Programms befindet sich in der Datei weibo_spider.py. Der Hauptteil des Programms ist eine Spider-Klasse. Alle oben genannten Funktionen werden durch Aufrufen der Spider-Klasse in der Hauptfunktion implementiert.
config = get_config ()
wb = Spider ( config )
wb . start () # 爬取微博信息
Benutzer können die Spider-Klasse entsprechend ihren eigenen Anforderungen aufrufen oder ändern. Durch die Ausführung dieses Programms können wir viele Informationen erhalten.
Klicken Sie hier, um Details anzuzeigen
- wb.user['nickname']: Benutzername;
- wb.user['gender']: Benutzergeschlecht;
- wb.user['location']: Benutzerstandort;
- wb.user['birthday']: Geburtsdatum des Benutzers;
- wb.user['description']: Benutzerprofil;
- wb.user['verified_reason']: Benutzerauthentifizierung;
- wb.user['talent']: Benutzerbezeichnung;
- wb.user['education']: Lernerfahrung des Benutzers;
- wb.user['work']: Arbeitserfahrung des Benutzers;
- wb.user['weibo_num']: Weibo-Nummer;
- wb.user['following']: Anzahl der Follower;
- wb.user['followers']: Anzahl der Fans;
wb.weibo : Mit Ausnahme der oben genannten Informationen enthält wb.weibo alle gecrawlten Weibo-Informationen, wie Weibo-ID , Weibo-Text , Originalbild-URL , Veröffentlichungsort , Veröffentlichungszeit , Veröffentlichungstool , Anzahl der Likes , Anzahl der Retweets , Anzahl Kommentare usw. Wenn Sie alle Weibos (Original + weitergeleitet) crawlen, enthält dies zusätzlich zu den oben genannten Informationen auch die Originalbild-URL des weitergeleiteten Weibo , ob es sich um ein Original-Weibo handelt usw. wb.weibo ist eine Liste mit allen gecrawlten Weibo-Informationen. wb.weibo[0] ist das erste gecrawlte Weibo, wb.weibo[1] ist das zweite gecrawlte Weibo und so weiter. Wenn filter=1, ist wb.weibo[0] das erste Original- Weibo, das gecrawlt wurde, und so weiter. wb.weibo[0]['id'] ist die ID des ersten Weibo, wb.weibo[0]['content'] ist der Text des ersten Weibo, wb.weibo[0]['publish_time' ] ist der Veröffentlichungszeitpunkt des ersten Weibo-Beitrags, und es gibt viele andere Informationen, auf die ich nicht näher eingehen werde. Sie können unten auf „Details“ klicken, um die spezifische Verwendung anzuzeigen.
Einzelheiten
Wenn der Ziel-Weibo-Benutzer auf Weibo existiert, dann:
- id: speichert die Weibo-ID. Beispielsweise ist wb.weibo[0]['id'] die ID des neuesten Weibo;
- Inhalt: Speichert den Haupttext von Weibo. Beispielsweise ist wb.weibo[0]['content'] der Text des neuesten Weibo-Beitrags;
- Article_url: speichert die URL des Schlagzeilenartikels in Weibo. Beispielsweise ist wb.weibo[0]['article_url'] die URL des neuesten Weibo-Überschriftenartikels. Wenn es in Weibo keinen Überschriftenartikel gibt, lautet der Wert '';
- original_pictures: Speichert die ursprüngliche Bild-URL des ursprünglichen Weibo und die Bild-URL im Grund für die Weibo-Weiterleitung. Beispielsweise ist wb.weibo[0]['original_pictures'] die ursprüngliche Bild-URL des neuesten Weibo. Wenn das Weibo über mehrere Bilder verfügt, werden mehrere URLs durch englische Kommas getrennt gespeichert Wert ist „Keine“;
- retweet_pictures: speichert die ursprünglichen Bild-URLs im retweeteten Weibo. Wenn das neueste Weibo ein Original-Weibo oder ein weitergeleitetes Weibo ohne Bilder ist, ist der Wert „none“, andernfalls ist es die Bild-URL des weitergeleiteten Weibo. Bei mehreren Bildern werden mehrere URLs durch Kommas getrennt gespeichert;
- Publish_Place: Speichert den Veröffentlichungsort von Weibo. Beispielsweise ist wb.weibo[0]['publish_place'] der Veröffentlichungsort des neuesten Weibo. Wenn das Weibo keine Standortinformationen hat, ist der Wert „None“.
- Publish_time: speichert die Veröffentlichungszeit von Weibo. Beispielsweise ist wb.weibo[0]['publish_time'] die Veröffentlichungszeit des neuesten Weibo;
- up_num: speichert die Anzahl der von Weibo erhaltenen Likes. Beispielsweise ist wb.weibo[0]['up_num'] die Anzahl der Likes, die der letzte Weibo-Beitrag erhalten hat;
- retweet_num: speichert die Anzahl der von Weibo erhaltenen Retweets. Beispielsweise ist wb.weibo[0]['retweet_num'] die Anzahl der Retweets, die das neueste Weibo erhalten hat;
- comment_num: speichert die Anzahl der von Weibo erhaltenen Kommentare. Beispielsweise ist wb.weibo[0]['comment_num'] die Anzahl der Kommentare, die das neueste Weibo erhalten hat.
- Publish_tool: Speicherveröffentlichungstool für Weibo. Beispielsweise ist wb.weibo[0]['publish_tool'] das Veröffentlichungstool für das neueste Weibo.
Weibo regelmäßig automatisch crawlen (optional)
Wenn Sie möchten, dass das Programm jedes Mal automatisch crawlt und es sich bei den gecrawlten Inhalten um neu hinzugefügte Inhalte handelt (ausgenommen Weibo, die bereits abgerufen wurden), aktivieren Sie bitte die Option „Weibo regelmäßig crawlen“.
Wie bekomme ich Kekse?
Um zu erfahren, wie Sie Cookies erhalten, schauen Sie sich die Cookie-Dokumentation an.
So erhalten Sie die Benutzer-ID
Um zu erfahren, wie Sie die Benutzer-ID erhalten, sehen Sie sich bitte das Dokument „Benutzer-ID“ an, in dem beschrieben wird, wie Sie die Benutzer-ID eines oder mehrerer Weibo-Benutzer erhalten.
FAQ
Wenn beim Ausführen des Programms ein Fehler auftritt, können Sie die FAQ-Seite anzeigen, die die häufigsten Probleme und Lösungen enthält. Wenn der aufgetretene Fehler nicht in den FAQ enthalten ist, können Sie um Hilfe bitten, indem Sie ein Problem senden. Wir werden es dann gerne für Sie beantworten.
akademische Forschung
Dieses Projekt erfasst Weibo-Daten, um die Daten bereitzustellen, die für nichtkommerzielle Projekte wie das Verfassen von Arbeiten und Recherchen benötigt werden. Bei wissenschaftlichen Forschungsdokumenten handelt es sich um Projekte, bei denen das Programm in Abschlussarbeiten oder Forschungsarbeiten usw. verwendet wurde und die mit Genehmigung des Eigentümers angezeigt werden. Wir haben mit dem Eigentümer über einige datenschutzrelevante Beschreibungen gesprochen und in der Beschreibung werden nur die Teile vorgestellt, deren Anzeige der Eigentümer zulässt. Wenn der Eigentümer einiger Informationen zuvor der Anzeige zugestimmt und sie in das Dokument geschrieben hat, sie jetzt aber nicht anzeigen möchte, können Sie mir dies per E-Mail ([email protected]) oder per E-Mail mitteilen, und ich werde die relevanten Informationen löschen Information. Gleichzeitig sind auch Freunde, die dieses Projekt zum Verfassen von Arbeiten oder anderen wissenschaftlichen Forschungsarbeiten nutzen, herzlich willkommen, ihre Forschungsergebnisse in wissenschaftlichen Forschungsdokumenten darzustellen. Dies ist völlig freiwillig.
Der Einfachheit halber werden die Bibtex-Einträge für dieses Projekt wie folgt bereitgestellt:
@misc{weibospider2020,
author = {Lei Chen, Zhengyang Song, schaepher, minami9, bluerthanever, MKSP2015, moqimoqidea, windlively, eggachecat, mtuwei, codermino, duangan1},
title = {{Weibo Spider}},
howpublished = {url{https://github.com/dataabc/weiboSpider}},
year = {2020}
}
Verwandte Projekte
- weibo-crawler – Die Funktion ist genau die gleiche wie bei diesem Projekt, Sie können keine Cookies hinzufügen und erhalten mehr Weibo-Attribute;
- Weibo-Suche – kann kontinuierlich ein oder mehrere Weibo-Schlüsselwortsuchergebnisse abrufen und die Ergebnisse in eine Datei (optional), eine Datenbank (optional) usw. schreiben. Die sogenannte Weibo-Schlüsselwortsuche bedeutet: Suche nach Weibo, das bestimmte Schlüsselwörter im Text enthält , und Sie können den Suchzeitraum angeben. Für sehr beliebte Schlüsselwörter können an einem Tag mehr als 10 Millionen Suchergebnisse und in N Tagen 10 Millionen XN-Suchergebnisse erhalten werden. Für die meisten Schlüsselwörter sollte die Anzahl der an einem Tag generierten entsprechenden Mikroblogs weniger als 10 Millionen betragen, sodass man sagen kann, dass das Programm für die meisten Schlüsselwörter alle oder fast alle Suchergebnisse erhalten kann. Darüber hinaus kann dieses Programm alle Informationen der Suchergebnisse abrufen, und die von diesem Programm erhaltenen Weibo-Informationen können von diesem Programm abgerufen werden.
beitragen
Willkommen, um zu diesem Projekt beizutragen. Sie können einen Beitrag leisten, indem Sie Code einreichen, Vorschläge (z. B. neue Funktionen, Verbesserungspläne usw.) über Probleme machen oder uns über Fehler, Mängel usw. im Projekt informieren. Spezifische Möglichkeiten, einen Beitrag zu leisten, finden Sie unter „Mitwirken“. Projekt.
Mitwirkender
Vielen Dank an alle Freunde, die zu diesem Projekt beigetragen haben. Einzelheiten zu den Mitwirkenden finden Sie auf der Mitwirkendenseite.
Dinge zu beachten
- Die Benutzer-ID darf nicht die Benutzer-ID des Crawlers Weibo sein. Denn um Weibo-Informationen zu crawlen, müssen Sie sich zunächst bei einem Weibo-Konto anmelden. Lassen Sie uns diesen Konto-Crawler Weibo nennen. Wenn der Crawler Weibo seine eigene Seite besucht und die Seiten anderer Benutzer besucht, ist das Format der erhaltenen Webseite unterschiedlich, sodass er seine eigenen Weibo-Informationen nicht crawlen kann Information;
- Cookies haben ein begrenztes Ablaufdatum von etwa drei Monaten. Wenn Sie die Meldung erhalten, dass das Cookie falsch oder abgelaufen ist, müssen Sie das Cookie erneut aktualisieren.