I. Description de l'environnement
Développement des langues: Python 2.75;
Bibliothèque liée à Python: Beautiful, Urllib, Urllib2, Base64, RSA, Json, Journaux, Pymongo.
Stockage de données: MongoDB 3.2 + outil visuel robomongo 0.9.0
Si votre environnement Python n'a pas la liste ci-dessus, utilisez PIP ou Easy_Install à installer. De plus, si vous n'êtes temporairement pas destiné à utiliser des données de stockage Mongodb, vous pouvez également afficher des informations sur chaque utilisateur dans le dossier ./output.
II. Paquet de méthode
Pour plus de commodité, nous avons d'abord encapsulé la route de Sina liée au fichier Sinaspider.py, qui peut être dit être un contenu de base Sina Saigneur, principalement la classe Sinaclient et la méthode interne est décrite ci-dessous.
Pour l'ensemble du projet de reptiles, lorsque la fonction externe appelle des méthodes internes, il vous suffit de faire attention aux éléments suivants:
connectez-vous (auto, Nom d'utilisateur, mot de passe): Connectez-vous à Sina Weibo suivin utilisateurs et mots de passe;
SwitchsAccount (Self, UserList): Utilisé pour transférer des comptes d'utilisateurs pour empêcher que l'escalade compte unique à long terme, où est le nom de la méthode de connexion;
getUserSerFollows (auto, UID, paramètres): Obtenez la liste d'identité de l'utilisateur en fonction de l'ID utilisateur;
Getuserfans (auto, UID, paramètres: Obtenez l'ID de ventilateur répertorié conformément à l'ID utilisateur;GetUserSertwets (auto, UID, Tweet_All, paramètres): Obtenez Weibo selon l'ID utilisateur, Tweets_All est une variable de liste.
Si vous devez grimper à d'autres données, vous pouvez l'ajouter à la classe Sinaclient.
2. Méthode auxiliaire
pour les reptiles, ce que nous voulons, ce que nous voulons est Son travail normal, afin d'arrêter le nombre de hits, le commutateur peut être appelé pendant le processus de collecte pour convertir l'agent utilisateur ou lors de l'utilisation de cookies, définissez le paramètre EnableProxy dans EnaBrecookie.E. Dans la classe Sinaclient, d'autres méthodes auxiliaires sont les suivantes:
INPARAMS (auto): paramètres initiaux;
SetAccount (auto, nom d'utilisateur, mot de passe): nom Nom d'utilisateur et mot de passe;
SETPOSTDATA (auto): Définissez le contenu post_data lorsque vous souhaitez être connecté;Commutateurs (Self, Enableagent = True): Transférer les utilisateurs de l'agent utilisateur;
Enablecookie (Self, EnableProxy = False): Autoriser les cookies de stockage;
Openurl (auto, URL, données = NO: apportez le titre lors de l'ouverture de l'URL, ce titre nécessite un cookie;Sortie (Self, Contenu, Out_Path, Save_Mode = "W"): contenu de texte local.
Pour faciliter la configuration des variables, nous extrayons certaines variables nécessitant des affectations de fichiers Conf.ini et télécharger ce code de configuration du fichier écrit dans myconf.py et Identifiez certains fichiers myconf.py à utiliser dans le fichier myConf.py, convertissez facilement des agents et remplacez les utilisateurs et écrivez le code que la sortie du journal est configurée.Écrit dans l'enregistreur. Py. De plus, les données relatives à post_data envoyées lors de la connexion sont emballées dans dataencode.py. Pour ces documents, vous pouvez résumer les manières suivantes:
Conf.ini: Utilisé pour configurer les paramètres tels que les proxies, les titres, dans lesquels des paramètres d'API Sina se sont définis;
myconf.py: Téléchargez le fichier de configuration
DATANCODE.PY: Publier des données utilisées pour simuler la connexion Sina;LOGGER.PY: Utilisé pour exporter le fichier journal;
Dans le fichier ci-dessus, le fichier dataencode.py a un paramètre digne, c'est-à-dire une méthode coding_post_data dans Post_Data. Si vous utilisez le premier post_data, certains comptes sont requis pour entrer le code de vérification. Lorsque vous exécutez ce code, certains utilisateurs ne peuvent pas se connecter normalement, elle vous invitera "Connexion échouée - & gt; pour la sécurité de votre compte, veuillez saisir le code de vérification", l'auteur déposera le premier commentaire en cliquant sur le code sur le code,utilise souvent la deuxième post_data. Ne demandez pas à faireL'étang que je sais, la pratique est vraie. Après le paramètre Package, il suffit de modifier la liste des utilisateurs dans myconf.py vers la liste de votre propre compte, vous pouvez vous connecter. Si vous souhaitez toujours ajouter des agences, faites-vous juste référence à votre proxy dans Conf.ini.
Astuce: Si vous êtes intéressé par API Sina et que vous souhaitez essayer son utilisation, vous pouvez mettre Access_Token dans Conf.ini avec App_Key pour configurer l'interface SINA API lorsque vous configurez une image d'interface API Sina. Valeur (veuillez vérifier les informations pertinentes), puis écrivez une méthode de test pour appeler la méthode getUserInfo pour récupérer les données JSON correspondantes.
4. Paquet d'appel
Nous pouvons facilement appeler le package de méthode et le paquet de paramètres ci-dessus. Ici, nous écrivons la fonction d'exécution du code dans le fichier principal.py, suivez si vous avez toujours besoin de résultats, comment stocker ces ensembles de résultats renvoyés, qui peuvent être écrits dans ce fichier.
China.py: le fichier dans
5. Prenez des informationsn, la valeur de retour de chaque fonction est la chaîne JSON:
GetUserInfos reçoit des informations de l'utilisateur
UID: ID utilisateur
Pseudo: Nom distinct
, : AnniversaireAnniversaire: Anniversaire
Desc: Introduction
Desc: IntroductionMariage: Mariage: Mariage
Suivre_count: Fans_Count: fans
Tweets_Count: WeiboAccueil: Liens Accueil
Reg_Date: Time d'inscription
Tag
Sex_Orientation: Orientation sexuelle
- .
53] GetUserFollows a reçu les utilisateurs suivant UID: ID utilisateur suivi_ids: suivez la liste des hommes 3 .GetTreSerfans Obtenez les utilisateurs des utilisateurs UID: ID utilisateur FANS_IDS : Liste des fans d'identification 4.GETTUSERTWets reçus Informations de l'utilisateur UID: ID utilisateur Contenu: Contenu Weibo Créé_at: Publié Source: Outil de publication / Plateforme Commentaire_Count: Commentaire Repost_Count: Numéro de rechargement Type: Type Weibo (Original / Forward) Like_Count: une louange Raison: la raison de l'avant (le blog original est déraisonnable) 6. Résultats des archives Call Fichiers Main.py recevra quatre résultats, des captures d'écran comme suit: Depuis que le blog est limité, Les reptiles sont à des étapes de croissance et certaines fonctions? Parfait. Optimiser davantage, si vous pouvez faire attention au blogueur de weibo @ 毅 毅 ou à déplacer GitHub pour faire attention aux derniers développements de cette collection d'informations. Enfin, je vous souhaite à tous un joyeux jour de Noël, hâte de vous voir la prochaine intersection. Seven. Reference Test UstensilesPetit: Utilisez la simulation de Python Simulation Informations sur la simulation Sina Weibo Connexion: du principe d'analyse pour déployer Sina Weibo Data Data Graphe 1st: Informations personnelles Sina Weibo Data escalier Partie 2: Amis de relation et utilisateurs de Weibo