Araignée Weibo
Ce programme peut explorer en continu les données d' un ou plusieurs utilisateurs de Sina Weibo (tels que Hu Ge, Dilraba, Guo Biting) et écrire les informations de résultat dans un fichier ou une base de données . Les informations écrites comprennent presque toutes les données du Weibo de l'utilisateur, dont deux catégories : les informations de l'utilisateur et les informations de Weibo . Parce qu'il y a trop de contenu, je n'entrerai pas dans les détails ici. Pour plus de détails, voir les champs obtenus. Si vous n'avez besoin que d'informations utilisateur, vous pouvez configurer la fonction pour qu'elle explore uniquement les informations utilisateur Weibo. Ce programme doit définir des cookies pour accéder à Weibo. Comment obtenir des cookies sera expliqué plus tard. Si vous ne souhaitez pas installer de cookies, vous pouvez utiliser la version sans cookies, qui propose des fonctions similaires.
Les résultats de l'analyse peuvent être écrits dans des fichiers et des bases de données. Les types de fichiers d'écriture spécifiques sont les suivants :
- fichier txt (par défaut)
- fichier csv (par défaut)
- fichier json (facultatif)
- Base de données MySQL (facultatif)
- Base de données MongoDB (facultatif)
- Base de données SQLite (facultatif)
Il prend également en charge le téléchargement de photos et de vidéos depuis Weibo. Les fichiers téléchargeables spécifiques sont les suivants :
- Image originale du Weibo original (facultatif)
- Republiez la photo originale de Weibo (facultatif)
- Vidéo originale sur Weibo (facultatif)
- Republier des vidéos sur Weibo (facultatif)
- Vidéos dans la version originale Weibo Live Photo (exclusive à la version sans cookies)
- Republier des vidéos de Weibo Live Photo (unique à la version sans cookie)
Liste des contenus
[TOC]
- Araignée Weibo
- Liste des contenus
- Les champs obtenus
- Informations utilisateur
- Informations sur Weibo
- Exemple
- Environnement opérationnel
- Mode d'emploi
- 0.Version
- 1. Programme d'installation
- Installation du code source
- installation de pip
- 2. Paramètres du programme
- 3. Exécutez le programme
- Programme de personnalisation (facultatif)
- Explorer automatiquement Weibo régulièrement (facultatif)
- Comment obtenir des cookies
- Comment obtenir l'identifiant_utilisateur
- FAQ
- recherche universitaire
- Projets connexes
- contribuer
- Donateur
- Choses à noter
Les champs obtenus
Cette section est une description des informations du champ analysées. Afin de la distinguer de la version sans cookie, les informations analysées par les deux sont répertoriées ci-dessous. Si les informations sont propres à la version sans cookie, elles seront marquées comme sans cookie et les informations non marquées seront communes aux deux.
Informations utilisateur
- Identifiant de l'utilisateur : identifiant de l'utilisateur Weibo, tel que "1669879400". En fait, ce champ est un champ connu.
- Surnom : surnom de l'utilisateur, tel que "Cher-Dilraba"
- Sexe : sexe de l’utilisateur de Weibo
- Anniversaire : date de naissance de l'utilisateur
- Emplacement : emplacement de l'utilisateur
- Expérience d'apprentissage : le nom et l'heure de l'école à laquelle l'utilisateur a fréquenté l'école
- Expérience professionnelle : nom de l’entreprise et heure de l’utilisateur
- Crédit Sunshine (version sans cookies) : Crédit Sunshine de l'utilisateur
- Heure d’inscription Weibo (version sans cookies) : date d’inscription Weibo de l’utilisateur
- Nombre de Weibos : nombre de tous les Weibos de l'utilisateur (Weibos retweetés + Weibos originaux)
- Nombre de followers : le nombre de publications Weibo suivies par l'utilisateur
- Nombre de fans : le nombre de fans de l'utilisateur
- Introduction : profil utilisateur
- Adresse de la page d'accueil (version sans cookies) : URL de la page d'accueil de la version mobile de Weibo
- URL de l'avatar (version sans cookies) : URL de l'avatar de l'utilisateur
- URL de l'avatar haute définition (version sans cookie) : URL de l'avatar haute définition de l'utilisateur
- Niveau Weibo (version sans cookies) : Niveau utilisateur Weibo
- Niveau d'adhésion (version sans cookies) : niveau d'utilisateur membre Weibo, le niveau pour les utilisateurs ordinaires est 0
- S'authentifier (version sans cookie) : si l'utilisateur est authentifié, un type booléen
- Type d'authentification (version sans cookie) : Type d'authentification de l'utilisateur, tel que l'authentification personnelle, l'authentification d'entreprise, l'authentification gouvernementale, etc.
- Informations d'authentification : uniques aux utilisateurs authentifiés, informations d'authentification affichées dans la colonne d'informations utilisateur
Informations sur Weibo
- Identifiant Weibo : le logo unique de Weibo
- Contenu Weibo : texte Weibo
- URL de l'article principal : L'URL de l'article principal dans Weibo. S'il n'y a pas d'article principal dans Weibo, la valeur est ''.
- URL de l'image originale : l'image Weibo originale et l'URL de l'image dans le motif du transfert Weibo. S'il y a plusieurs images dans une publication Weibo, chaque URL est séparée par une virgule anglaise. S'il n'y a pas d'image, la valeur est ". Aucun"
- URL de la vidéo : l'URL de la vidéo dans Weibo. S'il n'y a pas de vidéo dans Weibo, la valeur est "Aucune".
- Lieu de publication sur Weibo : Lieu de publication sur Weibo
- Heure de publication de Weibo : l'heure à laquelle Weibo a été publié, à la minute près
- Nombre de likes : Nombre de likes sur Weibo
- Nombre de retweets : Le nombre de retweets sur Weibo
- Nombre de commentaires : le nombre de commentaires sur Weibo
- Outils de publication Weibo : outils de publication Weibo, tels que le client iPhone, HUAWEI Mate 20 Pro, etc.
- Fichier de résultat : enregistré dans le dossier nommé d'après le pseudo de l'utilisateur dans le dossier weibo du répertoire actuel, sous la forme de "user_id.csv" et "user_id.txt"
- Images Weibo : les images du Weibo d'origine et les images des motifs du transfert sur Weibo sont enregistrées dans le dossier img sous le dossier nommé d'après le surnom de l'utilisateur.
- Vidéos Weibo : vidéos originales sur Weibo, enregistrées dans le dossier vidéo sous le dossier nommé d'après le pseudo de l'utilisateur
- Enchère Weibo (version sans cookie) : unique à la version sans cookie, elle a la même valeur que l'identifiant Weibo dans ce programme
- Sujet (version sans cookie) : sujet Weibo, c'est-à-dire le contenu entre deux #. S'il y a plusieurs sujets, chaque URL est séparée par une virgule anglaise. S'il n'y en a pas, la valeur est ''.
- @user (version sans cookie) : Weibo @user, s'il y a plusieurs @users, chaque URL est séparée par une virgule anglaise, sinon, la valeur est ''
- Weibo original (version sans cookies) : unique au Weibo transféré. Il s'agit du Weibo transféré dans le Weibo transféré. Il est stocké sous forme de dictionnaire et contient tout le contenu des informations Weibo ci-dessus, telles que l'identifiant Weibo, le contenu Weibo, etc. .
Exemple
Si vous souhaitez connaître les résultats spécifiques d'exécution du programme, vous pouvez consulter l'exemple de document, qui présente un exemple d'exploration de Weibo de Dilireba et joint quelques captures d'écran des fichiers de résultats.
Environnement opérationnel
- Langage de développement : python2/python3
- Système : Windows/Linux/macOS
Mode d'emploi
0.Version
Il existe deux versions de ce programme. Celle que vous voyez maintenant est la version python3 et l'autre est la version python2. La version python2 est située dans la branche python2. Actuellement, nous développons principalement la version python3, y compris le développement de nouvelles fonctionnalités et les corrections de bugs ; la version python2 ne prend en charge que les corrections de bugs. Il est recommandé aux utilisateurs de python3 d'utiliser la version actuelle et aux utilisateurs de python2 d'utiliser la version python2. Ce manuel d'instructions concerne la version python3.
1. Programme d'installation
Ce programme propose deux méthodes d'installation, l'une est l'installation du code source et l'autre est l'installation de pip , qui ont toutes deux exactement les mêmes fonctions. Si vous devez modifier le code source, il est recommandé d'utiliser la première méthode, sinon vous pouvez choisir n'importe quelle méthode d'installation.
Installation du code source
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
installation de pip
$ python3 -m pip install weibo-spider
2. Paramètres du programme
Pour en savoir plus sur les paramètres du programme, consultez la documentation sur les paramètres du programme.
3. Exécutez le programme
Les utilisateurs qui installent le code source peuvent exécuter les commandes suivantes dans le répertoire weiboSpider. Les utilisateurs qui installent pip peuvent exécuter les commandes suivantes dans n'importe quel répertoire avec des autorisations d'écriture.
$ python3 -m weibo_spider
Lors de sa première exécution, le fichier de configuration config.json sera automatiquement créé dans le répertoire actuel. Après la configuration, exécutez la même commande pour obtenir Weibo.
Si vous disposez déjà d'un fichier config.json, vous pouvez également configurer le chemin config.json via le paramètre config_path et exécuter le programme. La ligne de commande est la suivante :
$ python3 -m weibo_spider --config_path= " config.json "
Si vous souhaitez spécifier le chemin d'enregistrement du fichier (csv, txt, json, image, vidéo), vous pouvez le définir via le paramètre output_dir. Si vous souhaitez enregistrer le fichier dans le répertoire /home/weibo/, vous pouvez exécuter la commande suivante :
$ python3 -m weibo_spider --output_dir= " /home/weibo/ "
Si vous souhaitez saisir user_id via la ligne de commande, vous pouvez utiliser le paramètre u. Vous pouvez saisir un ou plusieurs user_ids. Chaque user_id est séparé par une virgule. S'il y a des user_ids en double parmi ces user_ids, le programme supprimera automatiquement les doublons. La ligne de commande est la suivante :
$ python3 -m weibo_spider --u= " 1669879400,1223178222 "
Le programme obtiendra les utilisateurs Weibo dont les identifiants utilisateur sont 1669879400 et 1223178222. Nous expliquerons comment obtenir l'identifiant utilisateur plus tard. Tous les user_ids de cette méthode sont définis à l'aide de Since_date et end_date dans config.json, et la plage de temps d'exploration peut être contrôlée en modifiant leurs valeurs. Si le user_id_list dans config.json est un chemin de fichier, le user_id dans chaque ligne de commande sera automatiquement enregistré dans le fichier et automatiquement mis à jour depuis_date ; s'il ne s'agit pas d'un chemin, le user_id sera enregistré dans user_id_list.txt dans le répertoire actuel ; et automatiquement mis à jour depuis_date, si user_id_list.txt n'existe pas dans le répertoire courant, le programme le créera automatiquement.
Programme de personnalisation (facultatif)
Cette section est facultative et peut être ignorée si vous n'avez pas besoin de personnaliser le programme ou d'ajouter de nouvelles fonctionnalités.
Le code principal de ce programme se trouve dans le fichier weibo_spider.py. Le corps principal du programme est une classe Spider. Toutes les fonctions ci-dessus sont implémentées en appelant la classe Spider dans la fonction principale. Le code d'appel par défaut est le suivant :
config = get_config ()
wb = Spider ( config )
wb . start () # 爬取微博信息
Les utilisateurs peuvent appeler ou modifier la classe Spider selon leurs propres besoins. En exécutant ce programme, nous pouvons obtenir beaucoup d'informations.
Cliquez pour voir les détails
- wb.user['nickname'] : pseudo de l'utilisateur ;
- wb.user['gender'] : sexe de l'utilisateur ;
- wb.user['location'] : emplacement de l'utilisateur ;
- wb.user['birthday'] : date de naissance de l'utilisateur ;
- wb.user['description'] : profil utilisateur ;
- wb.user['verified_reason'] : authentification de l'utilisateur ;
- wb.user['talent'] : étiquette de l'utilisateur ;
- wb.user['education'] : expérience d'apprentissage de l'utilisateur ;
- wb.user['work'] : expérience de travail de l'utilisateur ;
- wb.user['weibo_num'] : numéro Weibo ;
- wb.user['following'] : nombre de suivis ;
- wb.user['followers'] : nombre de fans ;
wb.weibo : à l'exception des informations ci-dessus, wb.weibo contient toutes les informations Weibo explorées, telles que l'identifiant Weibo , le texte Weibo , l'URL de l'image originale , le lieu de publication , l'heure de publication , l'outil de publication , le nombre de likes , le nombre de retweets , le nombre de commentaires , etc Si vous explorez tous les Weibo (original + transféré), en plus des informations ci-dessus, cela inclut également l'URL de l'image originale du Weibo transféré , s'il s'agit d'un Weibo original, etc. wb.weibo est une liste contenant toutes les informations Weibo explorées. wb.weibo[0] est le premier Weibo analysé, wb.weibo[1] est le deuxième Weibo analysé, et ainsi de suite. Lorsque filter=1, wb.weibo[0] est le premier Weibo original analysé, et ainsi de suite. wb.weibo[0]['id'] est l'identifiant du premier Weibo, wb.weibo[0]['content'] est le texte du premier Weibo, wb.weibo[0]['publish_time' ] est l'heure de publication du premier article Weibo, et il y a beaucoup d'autres informations que je n'entrerai pas dans les détails. Vous pouvez cliquer sur "Détails" ci-dessous pour voir l'utilisation spécifique.
Détails
Si l'utilisateur Weibo cible existe sur Weibo, alors :
- identifiant : stocke l’identifiant Weibo. Par exemple, wb.weibo[0]['id'] est l'identifiant du dernier Weibo ;
- contenu : stocke le texte principal de Weibo. Par exemple, wb.weibo[0]['content'] est le texte du dernier message Weibo ;
- article_url : stocke l'URL de l'article principal dans Weibo. Par exemple, wb.weibo[0]['article_url'] est l'URL du dernier article de titre de Weibo. S'il n'y a pas d'article de titre dans Weibo, la valeur est '' ;
- original_pictures : stocke l'URL de l'image originale du Weibo d'origine et l'URL de l'image dans le motif du transfert de Weibo. Par exemple, wb.weibo[0]['original_pictures'] est l'URL de l'image originale du dernier Weibo. Si le Weibo a plusieurs images, plusieurs URL seront stockées, séparées par des virgules anglaises si le Weibo n'a pas d'images. la valeur est « Aucun » ;
- retweet_pictures : stocke les URL des images originales dans le Weibo retweeté. Lorsque le dernier Weibo est un Weibo original ou un Weibo transféré sans images, la valeur est « aucun », sinon il s'agit de l'URL de l'image du Weibo transféré. S'il y a plusieurs images, plusieurs URL seront stockées, séparées par des virgules ;
- publi_place : stocke l'emplacement de publication de Weibo. Par exemple, wb.weibo[0]['publish_place'] est l'emplacement de publication du dernier Weibo. Si le Weibo n'a aucune information de localisation, la valeur est « Aucun » ;
- publi_time : stocke l’heure de publication de Weibo. Par exemple, wb.weibo[0]['publish_time'] est l'heure de publication du dernier Weibo ;
- up_num : stocke le nombre de likes obtenus par Weibo. Par exemple, wb.weibo[0]['up_num'] est le nombre de likes obtenus par la dernière publication Weibo ;
- retweet_num : stocke le nombre de retweets obtenus par Weibo. Par exemple, wb.weibo[0]['retweet_num'] est le nombre de retweets reçus par le dernier Weibo ;
- comment_num : stocke le nombre de commentaires obtenus par Weibo. Par exemple, wb.weibo[0]['comment_num'] est le nombre de commentaires reçus par le dernier Weibo ;
- publi_tool : outil de publication de stockage pour Weibo. Par exemple, wb.weibo[0]['publish_tool'] est l'outil de publication du dernier Weibo.
Explorer automatiquement Weibo régulièrement (facultatif)
Si vous souhaitez que le programme explore automatiquement à chaque période de temps et que le contenu analysé est un contenu nouvellement ajouté (à l'exclusion de Weibo déjà obtenu), veuillez cocher Analyser automatiquement Weibo régulièrement.
Comment obtenir des cookies
Pour savoir comment obtenir des cookies, consultez la documentation sur les cookies.
Comment obtenir l'identifiant_utilisateur
Pour savoir comment obtenir le user_id, veuillez consulter le document user_id, qui décrit comment obtenir le user_id d'un ou plusieurs utilisateurs Weibo.
FAQ
Si une erreur se produit lors de l'exécution du programme, vous pouvez consulter la page FAQ, qui contient les problèmes et les solutions les plus courants. Si l'erreur qui se produit ne figure pas dans la FAQ, vous pouvez demander de l'aide en envoyant un problème et nous serons heureux d'y répondre pour vous.
recherche universitaire
Ce projet obtient des données Weibo pour fournir les données nécessaires à des projets non commerciaux tels que la rédaction d'articles et la recherche. Les documents de recherche académique sont des projets dans lesquels le programme a été utilisé dans le cadre d'une thèse ou d'une recherche, etc., et sont affichés avec l'autorisation du propriétaire. Nous avons communiqué avec le propriétaire au sujet de certaines descriptions liées à la confidentialité, et la description ne présente que les parties que le propriétaire autorise à afficher. Si le propriétaire de certaines informations a précédemment accepté d'être affichées et les a écrites dans le document, mais ne souhaite plus les afficher, vous pouvez me le dire par e-mail ([email protected]) ou par courrier électronique, et je supprimerai le correspondant. information. Dans le même temps, les amis qui utilisent ce projet pour rédiger des articles ou effectuer d'autres recherches universitaires sont également invités à afficher les résultats de leurs recherches dans des documents de recherche universitaires. Ceci est entièrement volontaire.
Pour votre commodité, les entrées Bibtex de ce projet sont fournies comme suit :
@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}
}
Projets connexes
- weibo-crawler - La fonction est exactement la même que celle de ce projet, vous ne pouvez pas ajouter de cookies et obtenir plus d'attributs Weibo ;
- weibo-search - peut obtenir en continu un ou plusieurs résultats de recherche par mot-clé Weibo et écrire les résultats dans un fichier (facultatif), une base de données (facultatif), etc. La recherche par mot-clé Weibo signifie : rechercher Weibo qui contient des mots-clés spécifiés dans le texte , et vous pouvez spécifier la plage de temps de recherche. Pour les mots-clés très populaires, plus de 10 millions de résultats de recherche peuvent être obtenus en une journée et 10 millions de résultats de recherche XN peuvent être obtenus en N jours. Pour la plupart des mots-clés, le nombre de microblogs correspondants générés en une journée devrait être inférieur à 10 millions, on peut donc dire que le programme peut obtenir tous ou presque tous les résultats de recherche pour la plupart des mots-clés. De plus, ce programme peut obtenir toutes les informations des résultats de recherche, et les informations Weibo obtenues par ce programme peuvent être obtenues par ce programme.
contribuer
Bienvenue à contribuer à ce projet. La contribution peut se faire en soumettant du code, en faisant des suggestions (telles que de nouvelles fonctionnalités, des plans d'amélioration, etc.) via des problèmes, ou en nous signalant des bugs, des lacunes, etc. dans le projet via des problèmes. Pour des manières spécifiques de contribuer, voir Contribuer à cela. projet.
Donateur
Merci à tous les amis qui ont contribué à ce projet. Veuillez consulter la page des contributeurs pour plus de détails sur les contributeurs.
Choses à noter
- Le user_id ne peut pas être le user_id du robot Weibo. Parce que pour explorer les informations Weibo, vous devez d'abord vous connecter à un compte Weibo. Appelons ce robot d'exploration de compte Weibo. Lorsque le robot d'exploration Weibo visite sa propre page et visite les pages d'autres utilisateurs, le format de la page Web obtenue est différent, il ne peut donc pas explorer ses propres informations Weibo. Si vous souhaitez explorer le contenu du robot d'exploration Weibo, vous pouvez vous référer à Obtention de votre propre Weibo ; Information;
- Les cookies ont une date d'expiration limitée à environ trois mois. S'il vous indique que le cookie est erroné ou a expiré, vous devez à nouveau mettre à jour le cookie.